diff --git a/goldendict.pro b/goldendict.pro index a851f495..26a814c1 100644 --- a/goldendict.pro +++ b/goldendict.pro @@ -301,7 +301,6 @@ HEADERS += \ src/common/htmlescape.hh \ src/common/iconv.hh \ src/common/inc_case_folding.hh \ - src/common/inc_diacritic_folding.hh \ src/common/mutex.hh \ src/common/sptr.hh \ src/common/ufile.hh \ diff --git a/src/common/folding.cc b/src/common/folding.cc index 04f14388..24578d82 100644 --- a/src/common/folding.cc +++ b/src/common/folding.cc @@ -5,12 +5,11 @@ #include #include "utf8.hh" -#include "wstring_qt.hh" +#include "globalregex.hh" namespace Folding { #include "inc_case_folding.hh" -#include "inc_diacritic_folding.hh" /// Tests if the given char is one of the Unicode combining marks. Some are /// caught by the diacritics folding table, but they are only handled there @@ -23,43 +22,39 @@ bool isCombiningMark( wchar ch ) wstring apply( wstring const & in, bool preserveWildcards ) { + //remove space and accent; + auto withPunc = QString::fromStdU32String( in ) + .normalized( QString::NormalizationForm_KD ) + .remove( RX::markSpace ) + .toStdU32String(); + //First, strip diacritics and apply ws/punctuation removal wstring withoutDiacritics; - withoutDiacritics.reserve( in.size() ); + withoutDiacritics.reserve( withPunc.size() ); - wchar const * nextChar = in.data(); - size_t consumed; + for ( auto const & ch : withPunc ) { - for(int left=in.size() ; left; ) - { - wchar ch = foldDiacritic( nextChar, left, consumed ); - - if ( !isCombiningMark( ch ) && !isWhitespace( ch ) - && ( !isPunct( ch ) - || ( preserveWildcards && - ( ch == '\\' || ch == '?' || ch == '*' || ch == '[' || ch == ']' ) ) - ) - ) + if ( !isPunct( ch ) + || ( preserveWildcards && ( ch == '\\' || ch == '?' || ch == '*' || ch == '[' || ch == ']' ) ) ) { withoutDiacritics.push_back( ch ); - - nextChar += consumed; - left -= consumed; + } } + // Now, fold the case wstring caseFolded; caseFolded.reserve( withoutDiacritics.size() * foldCaseMaxOut ); - nextChar = withoutDiacritics.data(); + wchar const * nextChar = withoutDiacritics.data(); wchar buf[ foldCaseMaxOut ]; - for( size_t left = withoutDiacritics.size(); left--; ) - caseFolded.append( buf, foldCase( *nextChar++, buf ) ); + for ( size_t left = withoutDiacritics.size(); left--; ) + caseFolded.append( buf, foldCase( *nextChar++, buf ) ); return caseFolded; } @@ -108,26 +103,8 @@ wstring applyFullCaseOnly( wstring const & in ) wstring applyDiacriticsOnly( wstring const & in ) { - wstring withoutDiacritics; - - withoutDiacritics.reserve( in.size() ); - - wchar const * nextChar = in.data(); - - size_t consumed; - - for( size_t left = in.size(); left; ) - { - wchar ch = foldDiacritic( nextChar, left, consumed ); - - if ( !isCombiningMark( ch ) ) - withoutDiacritics.push_back( ch ); - - nextChar += consumed; - left -= consumed; - } - - return withoutDiacritics; + auto noAccent = QString::fromStdU32String( in ).normalized( QString::NormalizationForm_KD ).remove( RX::accentMark ); + return noAccent.toStdU32String(); } wstring applyPunctOnly( wstring const & in ) @@ -277,11 +254,4 @@ QString unescapeWildcardSymbols( const QString & str ) return unescaped; } - -wchar foldedDiacritic( wchar const * in, size_t size, size_t & consumed ) -{ - return foldDiacritic( in, size, consumed ); -} - - } diff --git a/src/common/folding.hh b/src/common/folding.hh index 3e87d760..f89b01ec 100644 --- a/src/common/folding.hh +++ b/src/common/folding.hh @@ -86,9 +86,6 @@ QString unescapeWildcardSymbols( QString const & ); /// Escape all wildcard symbols (for place word to input line) QString escapeWildcardSymbols( QString const & ); -/// Return result of foldDiacritic() from "inc_diacritic_folding.hh" -wchar foldedDiacritic( wchar const * in, size_t size, size_t & consumed ); - /// Tests if the given char is one of the Unicode combining marks. bool isCombiningMark( wchar ch ); diff --git a/src/common/globalregex.hh b/src/common/globalregex.hh index ebda8499..5e9b288b 100644 --- a/src/common/globalregex.hh +++ b/src/common/globalregex.hh @@ -65,6 +65,12 @@ const static QRegularExpression emptyXmlTag(R"(<(?!(br|hr)\b)([^/ >]*)\s*/>)"); bool containHtmlEntity( std::string const & text ); } +const static QRegularExpression accentMark( R"(\p{M})" ); +//contain unicode space mark and punctuation +const static QRegularExpression markPuncSpace( R"([\p{M}\p{Z}\p{P}])" ); +//contain unicode space and mark. +const static QRegularExpression markSpace( R"([\p{M}\p{Z}])" ); + } // namespace RX #endif // GLOBALREGEX_HH diff --git a/src/common/inc_diacritic_folding.hh b/src/common/inc_diacritic_folding.hh deleted file mode 100644 index cf3c98f9..00000000 --- a/src/common/inc_diacritic_folding.hh +++ /dev/null @@ -1,4854 +0,0 @@ -// This file was generated automatically. Do not edit directly. - -enum { foldDiacriticMaxIn = 3 }; - -wchar foldDiacritic( wchar const * in, size_t size, size_t & consumed ) -{ - if ( size > 0 ) - { - switch( in[ 0 ] ) - { - case 0x41: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x41; - case 0x301: - consumed = 2; return 0x41; - case 0x302: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x41; - case 0x301: - consumed = 3; return 0x41; - case 0x303: - consumed = 3; return 0x41; - case 0x309: - consumed = 3; return 0x41; - } - } - consumed = 2; return 0x41; - case 0x303: - consumed = 2; return 0x41; - case 0x304: - consumed = 2; return 0x41; - case 0x306: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x41; - case 0x301: - consumed = 3; return 0x41; - case 0x303: - consumed = 3; return 0x41; - case 0x309: - consumed = 3; return 0x41; - } - } - consumed = 2; return 0x41; - case 0x307: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x41; - } - } - consumed = 2; return 0x41; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x41; - } - } - consumed = 2; return 0x41; - case 0x309: - consumed = 2; return 0x41; - case 0x30a: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x41; - } - } - consumed = 2; return 0x41; - case 0x30c: - consumed = 2; return 0x41; - case 0x30f: - consumed = 2; return 0x41; - case 0x311: - consumed = 2; return 0x41; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x302: - consumed = 3; return 0x41; - case 0x306: - consumed = 3; return 0x41; - } - } - consumed = 2; return 0x41; - case 0x325: - consumed = 2; return 0x41; - case 0x328: - consumed = 2; return 0x41; - } - } - consumed = 1; return *in; - case 0x42: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x42; - case 0x323: - consumed = 2; return 0x42; - case 0x331: - consumed = 2; return 0x42; - } - } - consumed = 1; return *in; - case 0x43: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x43; - case 0x302: - consumed = 2; return 0x43; - case 0x307: - consumed = 2; return 0x43; - case 0x30c: - consumed = 2; return 0x43; - case 0x327: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x43; - } - } - consumed = 2; return 0x43; - } - } - consumed = 1; return *in; - case 0x44: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x44; - case 0x30c: - consumed = 2; return 0x44; - case 0x323: - consumed = 2; return 0x44; - case 0x327: - consumed = 2; return 0x44; - case 0x32d: - consumed = 2; return 0x44; - case 0x331: - consumed = 2; return 0x44; - } - } - consumed = 1; return *in; - case 0x45: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x45; - case 0x301: - consumed = 2; return 0x45; - case 0x302: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x45; - case 0x301: - consumed = 3; return 0x45; - case 0x303: - consumed = 3; return 0x45; - case 0x309: - consumed = 3; return 0x45; - } - } - consumed = 2; return 0x45; - case 0x303: - consumed = 2; return 0x45; - case 0x304: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x45; - case 0x301: - consumed = 3; return 0x45; - } - } - consumed = 2; return 0x45; - case 0x306: - consumed = 2; return 0x45; - case 0x307: - consumed = 2; return 0x45; - case 0x308: - consumed = 2; return 0x45; - case 0x309: - consumed = 2; return 0x45; - case 0x30c: - consumed = 2; return 0x45; - case 0x30f: - consumed = 2; return 0x45; - case 0x311: - consumed = 2; return 0x45; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x302: - consumed = 3; return 0x45; - } - } - consumed = 2; return 0x45; - case 0x327: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x306: - consumed = 3; return 0x45; - } - } - consumed = 2; return 0x45; - case 0x328: - consumed = 2; return 0x45; - case 0x32d: - consumed = 2; return 0x45; - case 0x330: - consumed = 2; return 0x45; - } - } - consumed = 1; return *in; - case 0x46: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x46; - } - } - consumed = 1; return *in; - case 0x47: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x47; - case 0x302: - consumed = 2; return 0x47; - case 0x304: - consumed = 2; return 0x47; - case 0x306: - consumed = 2; return 0x47; - case 0x307: - consumed = 2; return 0x47; - case 0x30c: - consumed = 2; return 0x47; - case 0x327: - consumed = 2; return 0x47; - } - } - consumed = 1; return *in; - case 0x48: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x302: - consumed = 2; return 0x48; - case 0x307: - consumed = 2; return 0x48; - case 0x308: - consumed = 2; return 0x48; - case 0x30c: - consumed = 2; return 0x48; - case 0x323: - consumed = 2; return 0x48; - case 0x327: - consumed = 2; return 0x48; - case 0x32e: - consumed = 2; return 0x48; - } - } - consumed = 1; return *in; - case 0x49: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x49; - case 0x301: - consumed = 2; return 0x49; - case 0x302: - consumed = 2; return 0x49; - case 0x303: - consumed = 2; return 0x49; - case 0x304: - consumed = 2; return 0x49; - case 0x306: - consumed = 2; return 0x49; - case 0x307: - consumed = 2; return 0x49; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x49; - } - } - consumed = 2; return 0x49; - case 0x309: - consumed = 2; return 0x49; - case 0x30c: - consumed = 2; return 0x49; - case 0x30f: - consumed = 2; return 0x49; - case 0x311: - consumed = 2; return 0x49; - case 0x323: - consumed = 2; return 0x49; - case 0x328: - consumed = 2; return 0x49; - case 0x330: - consumed = 2; return 0x49; - } - } - consumed = 1; return *in; - case 0x4a: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x302: - consumed = 2; return 0x4a; - } - } - consumed = 1; return *in; - case 0x4b: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x4b; - case 0x30c: - consumed = 2; return 0x4b; - case 0x323: - consumed = 2; return 0x4b; - case 0x327: - consumed = 2; return 0x4b; - case 0x331: - consumed = 2; return 0x4b; - } - } - consumed = 1; return *in; - case 0x4c: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x4c; - case 0x30c: - consumed = 2; return 0x4c; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x4c; - } - } - consumed = 2; return 0x4c; - case 0x327: - consumed = 2; return 0x4c; - case 0x32d: - consumed = 2; return 0x4c; - case 0x331: - consumed = 2; return 0x4c; - } - } - consumed = 1; return *in; - case 0x4d: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x4d; - case 0x307: - consumed = 2; return 0x4d; - case 0x323: - consumed = 2; return 0x4d; - } - } - consumed = 1; return *in; - case 0x4e: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x4e; - case 0x301: - consumed = 2; return 0x4e; - case 0x303: - consumed = 2; return 0x4e; - case 0x307: - consumed = 2; return 0x4e; - case 0x30c: - consumed = 2; return 0x4e; - case 0x323: - consumed = 2; return 0x4e; - case 0x327: - consumed = 2; return 0x4e; - case 0x32d: - consumed = 2; return 0x4e; - case 0x331: - consumed = 2; return 0x4e; - } - } - consumed = 1; return *in; - case 0x4f: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x4f; - case 0x301: - consumed = 2; return 0x4f; - case 0x302: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x4f; - case 0x301: - consumed = 3; return 0x4f; - case 0x303: - consumed = 3; return 0x4f; - case 0x309: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x303: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x4f; - case 0x304: - consumed = 3; return 0x4f; - case 0x308: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x304: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x4f; - case 0x301: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x306: - consumed = 2; return 0x4f; - case 0x307: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x309: - consumed = 2; return 0x4f; - case 0x30b: - consumed = 2; return 0x4f; - case 0x30c: - consumed = 2; return 0x4f; - case 0x30f: - consumed = 2; return 0x4f; - case 0x311: - consumed = 2; return 0x4f; - case 0x31b: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x4f; - case 0x301: - consumed = 3; return 0x4f; - case 0x303: - consumed = 3; return 0x4f; - case 0x309: - consumed = 3; return 0x4f; - case 0x323: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x302: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - case 0x328: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x4f; - } - } - consumed = 2; return 0x4f; - } - } - consumed = 1; return *in; - case 0x50: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x50; - case 0x307: - consumed = 2; return 0x50; - } - } - consumed = 1; return *in; - case 0x52: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x52; - case 0x307: - consumed = 2; return 0x52; - case 0x30c: - consumed = 2; return 0x52; - case 0x30f: - consumed = 2; return 0x52; - case 0x311: - consumed = 2; return 0x52; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x52; - } - } - consumed = 2; return 0x52; - case 0x327: - consumed = 2; return 0x52; - case 0x331: - consumed = 2; return 0x52; - } - } - consumed = 1; return *in; - case 0x53: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x307: - consumed = 3; return 0x53; - } - } - consumed = 2; return 0x53; - case 0x302: - consumed = 2; return 0x53; - case 0x307: - consumed = 2; return 0x53; - case 0x30c: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x307: - consumed = 3; return 0x53; - } - } - consumed = 2; return 0x53; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x307: - consumed = 3; return 0x53; - } - } - consumed = 2; return 0x53; - case 0x326: - consumed = 2; return 0x53; - case 0x327: - consumed = 2; return 0x53; - } - } - consumed = 1; return *in; - case 0x54: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x54; - case 0x30c: - consumed = 2; return 0x54; - case 0x323: - consumed = 2; return 0x54; - case 0x326: - consumed = 2; return 0x54; - case 0x327: - consumed = 2; return 0x54; - case 0x32d: - consumed = 2; return 0x54; - case 0x331: - consumed = 2; return 0x54; - } - } - consumed = 1; return *in; - case 0x55: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x55; - case 0x301: - consumed = 2; return 0x55; - case 0x302: - consumed = 2; return 0x55; - case 0x303: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x55; - } - } - consumed = 2; return 0x55; - case 0x304: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x308: - consumed = 3; return 0x55; - } - } - consumed = 2; return 0x55; - case 0x306: - consumed = 2; return 0x55; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x55; - case 0x301: - consumed = 3; return 0x55; - case 0x304: - consumed = 3; return 0x55; - case 0x30c: - consumed = 3; return 0x55; - } - } - consumed = 2; return 0x55; - case 0x309: - consumed = 2; return 0x55; - case 0x30a: - consumed = 2; return 0x55; - case 0x30b: - consumed = 2; return 0x55; - case 0x30c: - consumed = 2; return 0x55; - case 0x30f: - consumed = 2; return 0x55; - case 0x311: - consumed = 2; return 0x55; - case 0x31b: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x55; - case 0x301: - consumed = 3; return 0x55; - case 0x303: - consumed = 3; return 0x55; - case 0x309: - consumed = 3; return 0x55; - case 0x323: - consumed = 3; return 0x55; - } - } - consumed = 2; return 0x55; - case 0x323: - consumed = 2; return 0x55; - case 0x324: - consumed = 2; return 0x55; - case 0x328: - consumed = 2; return 0x55; - case 0x32d: - consumed = 2; return 0x55; - case 0x330: - consumed = 2; return 0x55; - } - } - consumed = 1; return *in; - case 0x56: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x303: - consumed = 2; return 0x56; - case 0x323: - consumed = 2; return 0x56; - } - } - consumed = 1; return *in; - case 0x57: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x57; - case 0x301: - consumed = 2; return 0x57; - case 0x302: - consumed = 2; return 0x57; - case 0x307: - consumed = 2; return 0x57; - case 0x308: - consumed = 2; return 0x57; - case 0x323: - consumed = 2; return 0x57; - } - } - consumed = 1; return *in; - case 0x58: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x58; - case 0x308: - consumed = 2; return 0x58; - } - } - consumed = 1; return *in; - case 0x59: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x59; - case 0x301: - consumed = 2; return 0x59; - case 0x302: - consumed = 2; return 0x59; - case 0x303: - consumed = 2; return 0x59; - case 0x304: - consumed = 2; return 0x59; - case 0x307: - consumed = 2; return 0x59; - case 0x308: - consumed = 2; return 0x59; - case 0x309: - consumed = 2; return 0x59; - case 0x323: - consumed = 2; return 0x59; - } - } - consumed = 1; return *in; - case 0x5a: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x5a; - case 0x302: - consumed = 2; return 0x5a; - case 0x307: - consumed = 2; return 0x5a; - case 0x30c: - consumed = 2; return 0x5a; - case 0x323: - consumed = 2; return 0x5a; - case 0x331: - consumed = 2; return 0x5a; - } - } - consumed = 1; return *in; - case 0x61: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x61; - case 0x301: - consumed = 2; return 0x61; - case 0x302: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x61; - case 0x301: - consumed = 3; return 0x61; - case 0x303: - consumed = 3; return 0x61; - case 0x309: - consumed = 3; return 0x61; - } - } - consumed = 2; return 0x61; - case 0x303: - consumed = 2; return 0x61; - case 0x304: - consumed = 2; return 0x61; - case 0x306: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x61; - case 0x301: - consumed = 3; return 0x61; - case 0x303: - consumed = 3; return 0x61; - case 0x309: - consumed = 3; return 0x61; - } - } - consumed = 2; return 0x61; - case 0x307: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x61; - } - } - consumed = 2; return 0x61; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x61; - } - } - consumed = 2; return 0x61; - case 0x309: - consumed = 2; return 0x61; - case 0x30a: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x61; - } - } - consumed = 2; return 0x61; - case 0x30c: - consumed = 2; return 0x61; - case 0x30f: - consumed = 2; return 0x61; - case 0x311: - consumed = 2; return 0x61; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x302: - consumed = 3; return 0x61; - case 0x306: - consumed = 3; return 0x61; - } - } - consumed = 2; return 0x61; - case 0x325: - consumed = 2; return 0x61; - case 0x328: - consumed = 2; return 0x61; - } - } - consumed = 1; return *in; - case 0x62: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x62; - case 0x323: - consumed = 2; return 0x62; - case 0x331: - consumed = 2; return 0x62; - } - } - consumed = 1; return *in; - case 0x63: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x63; - case 0x302: - consumed = 2; return 0x63; - case 0x307: - consumed = 2; return 0x63; - case 0x30c: - consumed = 2; return 0x63; - case 0x327: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x63; - } - } - consumed = 2; return 0x63; - } - } - consumed = 1; return *in; - case 0x64: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x64; - case 0x30c: - consumed = 2; return 0x64; - case 0x323: - consumed = 2; return 0x64; - case 0x327: - consumed = 2; return 0x64; - case 0x32d: - consumed = 2; return 0x64; - case 0x331: - consumed = 2; return 0x64; - } - } - consumed = 1; return *in; - case 0x65: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x65; - case 0x301: - consumed = 2; return 0x65; - case 0x302: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x65; - case 0x301: - consumed = 3; return 0x65; - case 0x303: - consumed = 3; return 0x65; - case 0x309: - consumed = 3; return 0x65; - } - } - consumed = 2; return 0x65; - case 0x303: - consumed = 2; return 0x65; - case 0x304: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x65; - case 0x301: - consumed = 3; return 0x65; - } - } - consumed = 2; return 0x65; - case 0x306: - consumed = 2; return 0x65; - case 0x307: - consumed = 2; return 0x65; - case 0x308: - consumed = 2; return 0x65; - case 0x309: - consumed = 2; return 0x65; - case 0x30c: - consumed = 2; return 0x65; - case 0x30f: - consumed = 2; return 0x65; - case 0x311: - consumed = 2; return 0x65; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x302: - consumed = 3; return 0x65; - } - } - consumed = 2; return 0x65; - case 0x327: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x306: - consumed = 3; return 0x65; - } - } - consumed = 2; return 0x65; - case 0x328: - consumed = 2; return 0x65; - case 0x32d: - consumed = 2; return 0x65; - case 0x330: - consumed = 2; return 0x65; - } - } - consumed = 1; return *in; - case 0x66: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x66; - } - } - consumed = 1; return *in; - case 0x67: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x67; - case 0x302: - consumed = 2; return 0x67; - case 0x304: - consumed = 2; return 0x67; - case 0x306: - consumed = 2; return 0x67; - case 0x307: - consumed = 2; return 0x67; - case 0x30c: - consumed = 2; return 0x67; - case 0x327: - consumed = 2; return 0x67; - } - } - consumed = 1; return *in; - case 0x68: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x302: - consumed = 2; return 0x68; - case 0x307: - consumed = 2; return 0x68; - case 0x308: - consumed = 2; return 0x68; - case 0x30c: - consumed = 2; return 0x68; - case 0x323: - consumed = 2; return 0x68; - case 0x327: - consumed = 2; return 0x68; - case 0x32e: - consumed = 2; return 0x68; - case 0x331: - consumed = 2; return 0x68; - } - } - consumed = 1; return *in; - case 0x69: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x69; - case 0x301: - consumed = 2; return 0x69; - case 0x302: - consumed = 2; return 0x69; - case 0x303: - consumed = 2; return 0x69; - case 0x304: - consumed = 2; return 0x69; - case 0x306: - consumed = 2; return 0x69; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x69; - } - } - consumed = 2; return 0x69; - case 0x309: - consumed = 2; return 0x69; - case 0x30c: - consumed = 2; return 0x69; - case 0x30f: - consumed = 2; return 0x69; - case 0x311: - consumed = 2; return 0x69; - case 0x323: - consumed = 2; return 0x69; - case 0x328: - consumed = 2; return 0x69; - case 0x330: - consumed = 2; return 0x69; - } - } - consumed = 1; return *in; - case 0x6a: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x302: - consumed = 2; return 0x6a; - case 0x30c: - consumed = 2; return 0x6a; - } - } - consumed = 1; return *in; - case 0x6b: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x6b; - case 0x30c: - consumed = 2; return 0x6b; - case 0x323: - consumed = 2; return 0x6b; - case 0x327: - consumed = 2; return 0x6b; - case 0x331: - consumed = 2; return 0x6b; - } - } - consumed = 1; return *in; - case 0x6c: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x6c; - case 0x30c: - consumed = 2; return 0x6c; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x6c; - } - } - consumed = 2; return 0x6c; - case 0x327: - consumed = 2; return 0x6c; - case 0x32d: - consumed = 2; return 0x6c; - case 0x331: - consumed = 2; return 0x6c; - } - } - consumed = 1; return *in; - case 0x6d: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x6d; - case 0x307: - consumed = 2; return 0x6d; - case 0x323: - consumed = 2; return 0x6d; - } - } - consumed = 1; return *in; - case 0x6e: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x6e; - case 0x301: - consumed = 2; return 0x6e; - case 0x303: - consumed = 2; return 0x6e; - case 0x307: - consumed = 2; return 0x6e; - case 0x30c: - consumed = 2; return 0x6e; - case 0x323: - consumed = 2; return 0x6e; - case 0x327: - consumed = 2; return 0x6e; - case 0x32d: - consumed = 2; return 0x6e; - case 0x331: - consumed = 2; return 0x6e; - } - } - consumed = 1; return *in; - case 0x6f: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x6f; - case 0x301: - consumed = 2; return 0x6f; - case 0x302: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x6f; - case 0x301: - consumed = 3; return 0x6f; - case 0x303: - consumed = 3; return 0x6f; - case 0x309: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x303: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x6f; - case 0x304: - consumed = 3; return 0x6f; - case 0x308: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x304: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x6f; - case 0x301: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x306: - consumed = 2; return 0x6f; - case 0x307: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x309: - consumed = 2; return 0x6f; - case 0x30b: - consumed = 2; return 0x6f; - case 0x30c: - consumed = 2; return 0x6f; - case 0x30f: - consumed = 2; return 0x6f; - case 0x311: - consumed = 2; return 0x6f; - case 0x31b: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x6f; - case 0x301: - consumed = 3; return 0x6f; - case 0x303: - consumed = 3; return 0x6f; - case 0x309: - consumed = 3; return 0x6f; - case 0x323: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x302: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - case 0x328: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x6f; - } - } - consumed = 2; return 0x6f; - } - } - consumed = 1; return *in; - case 0x70: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x70; - case 0x307: - consumed = 2; return 0x70; - } - } - consumed = 1; return *in; - case 0x72: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x72; - case 0x307: - consumed = 2; return 0x72; - case 0x30c: - consumed = 2; return 0x72; - case 0x30f: - consumed = 2; return 0x72; - case 0x311: - consumed = 2; return 0x72; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x304: - consumed = 3; return 0x72; - } - } - consumed = 2; return 0x72; - case 0x327: - consumed = 2; return 0x72; - case 0x331: - consumed = 2; return 0x72; - } - } - consumed = 1; return *in; - case 0x73: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x307: - consumed = 3; return 0x73; - } - } - consumed = 2; return 0x73; - case 0x302: - consumed = 2; return 0x73; - case 0x307: - consumed = 2; return 0x73; - case 0x30c: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x307: - consumed = 3; return 0x73; - } - } - consumed = 2; return 0x73; - case 0x323: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x307: - consumed = 3; return 0x73; - } - } - consumed = 2; return 0x73; - case 0x326: - consumed = 2; return 0x73; - case 0x327: - consumed = 2; return 0x73; - } - } - consumed = 1; return *in; - case 0x74: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x74; - case 0x308: - consumed = 2; return 0x74; - case 0x30c: - consumed = 2; return 0x74; - case 0x323: - consumed = 2; return 0x74; - case 0x326: - consumed = 2; return 0x74; - case 0x327: - consumed = 2; return 0x74; - case 0x32d: - consumed = 2; return 0x74; - case 0x331: - consumed = 2; return 0x74; - } - } - consumed = 1; return *in; - case 0x75: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x75; - case 0x301: - consumed = 2; return 0x75; - case 0x302: - consumed = 2; return 0x75; - case 0x303: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x301: - consumed = 3; return 0x75; - } - } - consumed = 2; return 0x75; - case 0x304: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x308: - consumed = 3; return 0x75; - } - } - consumed = 2; return 0x75; - case 0x306: - consumed = 2; return 0x75; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x75; - case 0x301: - consumed = 3; return 0x75; - case 0x304: - consumed = 3; return 0x75; - case 0x30c: - consumed = 3; return 0x75; - } - } - consumed = 2; return 0x75; - case 0x309: - consumed = 2; return 0x75; - case 0x30a: - consumed = 2; return 0x75; - case 0x30b: - consumed = 2; return 0x75; - case 0x30c: - consumed = 2; return 0x75; - case 0x30f: - consumed = 2; return 0x75; - case 0x311: - consumed = 2; return 0x75; - case 0x31b: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x75; - case 0x301: - consumed = 3; return 0x75; - case 0x303: - consumed = 3; return 0x75; - case 0x309: - consumed = 3; return 0x75; - case 0x323: - consumed = 3; return 0x75; - } - } - consumed = 2; return 0x75; - case 0x323: - consumed = 2; return 0x75; - case 0x324: - consumed = 2; return 0x75; - case 0x328: - consumed = 2; return 0x75; - case 0x32d: - consumed = 2; return 0x75; - case 0x330: - consumed = 2; return 0x75; - } - } - consumed = 1; return *in; - case 0x76: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x303: - consumed = 2; return 0x76; - case 0x323: - consumed = 2; return 0x76; - } - } - consumed = 1; return *in; - case 0x77: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x77; - case 0x301: - consumed = 2; return 0x77; - case 0x302: - consumed = 2; return 0x77; - case 0x307: - consumed = 2; return 0x77; - case 0x308: - consumed = 2; return 0x77; - case 0x30a: - consumed = 2; return 0x77; - case 0x323: - consumed = 2; return 0x77; - } - } - consumed = 1; return *in; - case 0x78: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x78; - case 0x308: - consumed = 2; return 0x78; - } - } - consumed = 1; return *in; - case 0x79: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x79; - case 0x301: - consumed = 2; return 0x79; - case 0x302: - consumed = 2; return 0x79; - case 0x303: - consumed = 2; return 0x79; - case 0x304: - consumed = 2; return 0x79; - case 0x307: - consumed = 2; return 0x79; - case 0x308: - consumed = 2; return 0x79; - case 0x309: - consumed = 2; return 0x79; - case 0x30a: - consumed = 2; return 0x79; - case 0x323: - consumed = 2; return 0x79; - } - } - consumed = 1; return *in; - case 0x7a: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x7a; - case 0x302: - consumed = 2; return 0x7a; - case 0x307: - consumed = 2; return 0x7a; - case 0x30c: - consumed = 2; return 0x7a; - case 0x323: - consumed = 2; return 0x7a; - case 0x331: - consumed = 2; return 0x7a; - } - } - consumed = 1; return *in; - case 0xc0: - consumed = 1; return 0x41; - case 0xc1: - consumed = 1; return 0x41; - case 0xc2: - consumed = 1; return 0x41; - case 0xc3: - consumed = 1; return 0x41; - case 0xc4: - consumed = 1; return 0x41; - case 0xc5: - consumed = 1; return 0x41; - case 0xc6: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0xc6; - case 0x304: - consumed = 2; return 0xc6; - } - } - consumed = 1; return *in; - case 0xc7: - consumed = 1; return 0x43; - case 0xc8: - consumed = 1; return 0x45; - case 0xc9: - consumed = 1; return 0x45; - case 0xca: - consumed = 1; return 0x45; - case 0xcb: - consumed = 1; return 0x45; - case 0xcc: - consumed = 1; return 0x49; - case 0xcd: - consumed = 1; return 0x49; - case 0xce: - consumed = 1; return 0x49; - case 0xcf: - consumed = 1; return 0x49; - case 0xd1: - consumed = 1; return 0x4e; - case 0xd2: - consumed = 1; return 0x4f; - case 0xd3: - consumed = 1; return 0x4f; - case 0xd4: - consumed = 1; return 0x4f; - case 0xd5: - consumed = 1; return 0x4f; - case 0xd6: - consumed = 1; return 0x4f; - case 0xd8: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0xd8; - } - } - consumed = 1; return 0x4f; - case 0xd9: - consumed = 1; return 0x55; - case 0xda: - consumed = 1; return 0x55; - case 0xdb: - consumed = 1; return 0x55; - case 0xdc: - consumed = 1; return 0x55; - case 0xdd: - consumed = 1; return 0x59; - case 0xe0: - consumed = 1; return 0x61; - case 0xe1: - consumed = 1; return 0x61; - case 0xe2: - consumed = 1; return 0x61; - case 0xe3: - consumed = 1; return 0x61; - case 0xe4: - consumed = 1; return 0x61; - case 0xe5: - consumed = 1; return 0x61; - case 0xe6: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0xe6; - case 0x304: - consumed = 2; return 0xe6; - } - } - consumed = 1; return *in; - case 0xe7: - consumed = 1; return 0x63; - case 0xe8: - consumed = 1; return 0x65; - case 0xe9: - consumed = 1; return 0x65; - case 0xea: - consumed = 1; return 0x65; - case 0xeb: - consumed = 1; return 0x65; - case 0xec: - consumed = 1; return 0x69; - case 0xed: - consumed = 1; return 0x69; - case 0xee: - consumed = 1; return 0x69; - case 0xef: - consumed = 1; return 0x69; - case 0xf1: - consumed = 1; return 0x6e; - case 0xf2: - consumed = 1; return 0x6f; - case 0xf3: - consumed = 1; return 0x6f; - case 0xf4: - consumed = 1; return 0x6f; - case 0xf5: - consumed = 1; return 0x6f; - case 0xf6: - consumed = 1; return 0x6f; - case 0xf8: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0xf8; - } - } - consumed = 1; return 0x6f; - case 0xf9: - consumed = 1; return 0x75; - case 0xfa: - consumed = 1; return 0x75; - case 0xfb: - consumed = 1; return 0x75; - case 0xfc: - consumed = 1; return 0x75; - case 0xfd: - consumed = 1; return 0x79; - case 0xff: - consumed = 1; return 0x79; - case 0x100: - consumed = 1; return 0x41; - case 0x101: - consumed = 1; return 0x61; - case 0x102: - consumed = 1; return 0x41; - case 0x103: - consumed = 1; return 0x61; - case 0x104: - consumed = 1; return 0x41; - case 0x105: - consumed = 1; return 0x61; - case 0x106: - consumed = 1; return 0x43; - case 0x107: - consumed = 1; return 0x63; - case 0x108: - consumed = 1; return 0x43; - case 0x109: - consumed = 1; return 0x63; - case 0x10a: - consumed = 1; return 0x43; - case 0x10b: - consumed = 1; return 0x63; - case 0x10c: - consumed = 1; return 0x43; - case 0x10d: - consumed = 1; return 0x63; - case 0x10e: - consumed = 1; return 0x44; - case 0x10f: - consumed = 1; return 0x64; - case 0x110: - consumed = 1; return 0x44; - case 0x111: - consumed = 1; return 0x64; - case 0x112: - consumed = 1; return 0x45; - case 0x113: - consumed = 1; return 0x65; - case 0x114: - consumed = 1; return 0x45; - case 0x115: - consumed = 1; return 0x65; - case 0x116: - consumed = 1; return 0x45; - case 0x117: - consumed = 1; return 0x65; - case 0x118: - consumed = 1; return 0x45; - case 0x119: - consumed = 1; return 0x65; - case 0x11a: - consumed = 1; return 0x45; - case 0x11b: - consumed = 1; return 0x65; - case 0x11c: - consumed = 1; return 0x47; - case 0x11d: - consumed = 1; return 0x67; - case 0x11e: - consumed = 1; return 0x47; - case 0x11f: - consumed = 1; return 0x67; - case 0x120: - consumed = 1; return 0x47; - case 0x121: - consumed = 1; return 0x67; - case 0x122: - consumed = 1; return 0x47; - case 0x123: - consumed = 1; return 0x67; - case 0x124: - consumed = 1; return 0x48; - case 0x125: - consumed = 1; return 0x68; - case 0x126: - consumed = 1; return 0x48; - case 0x127: - consumed = 1; return 0x68; - case 0x128: - consumed = 1; return 0x49; - case 0x129: - consumed = 1; return 0x69; - case 0x12a: - consumed = 1; return 0x49; - case 0x12b: - consumed = 1; return 0x69; - case 0x12c: - consumed = 1; return 0x49; - case 0x12d: - consumed = 1; return 0x69; - case 0x12e: - consumed = 1; return 0x49; - case 0x12f: - consumed = 1; return 0x69; - case 0x130: - consumed = 1; return 0x49; - case 0x134: - consumed = 1; return 0x4a; - case 0x135: - consumed = 1; return 0x6a; - case 0x136: - consumed = 1; return 0x4b; - case 0x137: - consumed = 1; return 0x6b; - case 0x139: - consumed = 1; return 0x4c; - case 0x13a: - consumed = 1; return 0x6c; - case 0x13b: - consumed = 1; return 0x4c; - case 0x13c: - consumed = 1; return 0x6c; - case 0x13d: - consumed = 1; return 0x4c; - case 0x13e: - consumed = 1; return 0x6c; - case 0x140: - consumed = 1; return 0x6c; - case 0x141: - consumed = 1; return 0x4c; - case 0x142: - consumed = 1; return 0x6c; - case 0x143: - consumed = 1; return 0x4e; - case 0x144: - consumed = 1; return 0x6e; - case 0x145: - consumed = 1; return 0x4e; - case 0x146: - consumed = 1; return 0x6e; - case 0x147: - consumed = 1; return 0x4e; - case 0x148: - consumed = 1; return 0x6e; - case 0x14c: - consumed = 1; return 0x4f; - case 0x14d: - consumed = 1; return 0x6f; - case 0x14e: - consumed = 1; return 0x4f; - case 0x14f: - consumed = 1; return 0x6f; - case 0x150: - consumed = 1; return 0x4f; - case 0x151: - consumed = 1; return 0x6f; - case 0x154: - consumed = 1; return 0x52; - case 0x155: - consumed = 1; return 0x72; - case 0x156: - consumed = 1; return 0x52; - case 0x157: - consumed = 1; return 0x72; - case 0x158: - consumed = 1; return 0x52; - case 0x159: - consumed = 1; return 0x72; - case 0x15a: - consumed = 1; return 0x53; - case 0x15b: - consumed = 1; return 0x73; - case 0x15c: - consumed = 1; return 0x53; - case 0x15d: - consumed = 1; return 0x73; - case 0x15e: - consumed = 1; return 0x53; - case 0x15f: - consumed = 1; return 0x73; - case 0x160: - consumed = 1; return 0x53; - case 0x161: - consumed = 1; return 0x73; - case 0x162: - consumed = 1; return 0x54; - case 0x163: - consumed = 1; return 0x74; - case 0x164: - consumed = 1; return 0x54; - case 0x165: - consumed = 1; return 0x74; - case 0x166: - consumed = 1; return 0x54; - case 0x167: - consumed = 1; return 0x74; - case 0x168: - consumed = 1; return 0x55; - case 0x169: - consumed = 1; return 0x75; - case 0x16a: - consumed = 1; return 0x55; - case 0x16b: - consumed = 1; return 0x75; - case 0x16c: - consumed = 1; return 0x55; - case 0x16d: - consumed = 1; return 0x75; - case 0x16e: - consumed = 1; return 0x55; - case 0x16f: - consumed = 1; return 0x75; - case 0x170: - consumed = 1; return 0x55; - case 0x171: - consumed = 1; return 0x75; - case 0x172: - consumed = 1; return 0x55; - case 0x173: - consumed = 1; return 0x75; - case 0x174: - consumed = 1; return 0x57; - case 0x175: - consumed = 1; return 0x77; - case 0x176: - consumed = 1; return 0x59; - case 0x177: - consumed = 1; return 0x79; - case 0x178: - consumed = 1; return 0x59; - case 0x179: - consumed = 1; return 0x5a; - case 0x17a: - consumed = 1; return 0x7a; - case 0x17b: - consumed = 1; return 0x5a; - case 0x17c: - consumed = 1; return 0x7a; - case 0x17d: - consumed = 1; return 0x5a; - case 0x17e: - consumed = 1; return 0x7a; - case 0x17f: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x307: - consumed = 2; return 0x17f; - } - } - consumed = 1; return *in; - case 0x180: - consumed = 1; return 0x62; - case 0x181: - consumed = 1; return 0x42; - case 0x182: - consumed = 1; return 0x42; - case 0x183: - consumed = 1; return 0x62; - case 0x187: - consumed = 1; return 0x43; - case 0x188: - consumed = 1; return 0x63; - case 0x18a: - consumed = 1; return 0x44; - case 0x18b: - consumed = 1; return 0x44; - case 0x18c: - consumed = 1; return 0x64; - case 0x191: - consumed = 1; return 0x46; - case 0x192: - consumed = 1; return 0x66; - case 0x193: - consumed = 1; return 0x47; - case 0x197: - consumed = 1; return 0x49; - case 0x198: - consumed = 1; return 0x4b; - case 0x199: - consumed = 1; return 0x6b; - case 0x19a: - consumed = 1; return 0x6c; - case 0x19d: - consumed = 1; return 0x4e; - case 0x19e: - consumed = 1; return 0x6e; - case 0x19f: - consumed = 1; return 0x4f; - case 0x1a0: - consumed = 1; return 0x4f; - case 0x1a1: - consumed = 1; return 0x6f; - case 0x1a4: - consumed = 1; return 0x50; - case 0x1a5: - consumed = 1; return 0x70; - case 0x1ab: - consumed = 1; return 0x74; - case 0x1ac: - consumed = 1; return 0x54; - case 0x1ad: - consumed = 1; return 0x74; - case 0x1ae: - consumed = 1; return 0x54; - case 0x1af: - consumed = 1; return 0x55; - case 0x1b0: - consumed = 1; return 0x75; - case 0x1b2: - consumed = 1; return 0x56; - case 0x1b3: - consumed = 1; return 0x59; - case 0x1b4: - consumed = 1; return 0x79; - case 0x1b5: - consumed = 1; return 0x5a; - case 0x1b6: - consumed = 1; return 0x7a; - case 0x1b7: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x30c: - consumed = 2; return 0x1b7; - } - } - consumed = 1; return *in; - case 0x1ba: - consumed = 1; return 0x292; - case 0x1cd: - consumed = 1; return 0x41; - case 0x1ce: - consumed = 1; return 0x61; - case 0x1cf: - consumed = 1; return 0x49; - case 0x1d0: - consumed = 1; return 0x69; - case 0x1d1: - consumed = 1; return 0x4f; - case 0x1d2: - consumed = 1; return 0x6f; - case 0x1d3: - consumed = 1; return 0x55; - case 0x1d4: - consumed = 1; return 0x75; - case 0x1d5: - consumed = 1; return 0x55; - case 0x1d6: - consumed = 1; return 0x75; - case 0x1d7: - consumed = 1; return 0x55; - case 0x1d8: - consumed = 1; return 0x75; - case 0x1d9: - consumed = 1; return 0x55; - case 0x1da: - consumed = 1; return 0x75; - case 0x1db: - consumed = 1; return 0x55; - case 0x1dc: - consumed = 1; return 0x75; - case 0x1de: - consumed = 1; return 0x41; - case 0x1df: - consumed = 1; return 0x61; - case 0x1e0: - consumed = 1; return 0x41; - case 0x1e1: - consumed = 1; return 0x61; - case 0x1e2: - consumed = 1; return 0xc6; - case 0x1e3: - consumed = 1; return 0xe6; - case 0x1e4: - consumed = 1; return 0x47; - case 0x1e5: - consumed = 1; return 0x67; - case 0x1e6: - consumed = 1; return 0x47; - case 0x1e7: - consumed = 1; return 0x67; - case 0x1e8: - consumed = 1; return 0x4b; - case 0x1e9: - consumed = 1; return 0x6b; - case 0x1ea: - consumed = 1; return 0x4f; - case 0x1eb: - consumed = 1; return 0x6f; - case 0x1ec: - consumed = 1; return 0x4f; - case 0x1ed: - consumed = 1; return 0x6f; - case 0x1ee: - consumed = 1; return 0x1b7; - case 0x1ef: - consumed = 1; return 0x292; - case 0x1f0: - consumed = 1; return 0x6a; - case 0x1f4: - consumed = 1; return 0x47; - case 0x1f5: - consumed = 1; return 0x67; - case 0x1f8: - consumed = 1; return 0x4e; - case 0x1f9: - consumed = 1; return 0x6e; - case 0x1fa: - consumed = 1; return 0x41; - case 0x1fb: - consumed = 1; return 0x61; - case 0x1fc: - consumed = 1; return 0xc6; - case 0x1fd: - consumed = 1; return 0xe6; - case 0x1fe: - consumed = 1; return 0x4f; - case 0x1ff: - consumed = 1; return 0x6f; - case 0x200: - consumed = 1; return 0x41; - case 0x201: - consumed = 1; return 0x61; - case 0x202: - consumed = 1; return 0x41; - case 0x203: - consumed = 1; return 0x61; - case 0x204: - consumed = 1; return 0x45; - case 0x205: - consumed = 1; return 0x65; - case 0x206: - consumed = 1; return 0x45; - case 0x207: - consumed = 1; return 0x65; - case 0x208: - consumed = 1; return 0x49; - case 0x209: - consumed = 1; return 0x69; - case 0x20a: - consumed = 1; return 0x49; - case 0x20b: - consumed = 1; return 0x69; - case 0x20c: - consumed = 1; return 0x4f; - case 0x20d: - consumed = 1; return 0x6f; - case 0x20e: - consumed = 1; return 0x4f; - case 0x20f: - consumed = 1; return 0x6f; - case 0x210: - consumed = 1; return 0x52; - case 0x211: - consumed = 1; return 0x72; - case 0x212: - consumed = 1; return 0x52; - case 0x213: - consumed = 1; return 0x72; - case 0x214: - consumed = 1; return 0x55; - case 0x215: - consumed = 1; return 0x75; - case 0x216: - consumed = 1; return 0x55; - case 0x217: - consumed = 1; return 0x75; - case 0x218: - consumed = 1; return 0x53; - case 0x219: - consumed = 1; return 0x73; - case 0x21a: - consumed = 1; return 0x54; - case 0x21b: - consumed = 1; return 0x74; - case 0x21e: - consumed = 1; return 0x48; - case 0x21f: - consumed = 1; return 0x68; - case 0x220: - consumed = 1; return 0x4e; - case 0x221: - consumed = 1; return 0x64; - case 0x224: - consumed = 1; return 0x5a; - case 0x225: - consumed = 1; return 0x7a; - case 0x226: - consumed = 1; return 0x41; - case 0x227: - consumed = 1; return 0x61; - case 0x228: - consumed = 1; return 0x45; - case 0x229: - consumed = 1; return 0x65; - case 0x22a: - consumed = 1; return 0x4f; - case 0x22b: - consumed = 1; return 0x6f; - case 0x22c: - consumed = 1; return 0x4f; - case 0x22d: - consumed = 1; return 0x6f; - case 0x22e: - consumed = 1; return 0x4f; - case 0x22f: - consumed = 1; return 0x6f; - case 0x230: - consumed = 1; return 0x4f; - case 0x231: - consumed = 1; return 0x6f; - case 0x232: - consumed = 1; return 0x59; - case 0x233: - consumed = 1; return 0x79; - case 0x234: - consumed = 1; return 0x6c; - case 0x235: - consumed = 1; return 0x6e; - case 0x236: - consumed = 1; return 0x74; - case 0x253: - consumed = 1; return 0x62; - case 0x255: - consumed = 1; return 0x63; - case 0x256: - consumed = 1; return 0x64; - case 0x257: - consumed = 1; return 0x64; - case 0x25a: - consumed = 1; return 0x259; - case 0x260: - consumed = 1; return 0x67; - case 0x266: - consumed = 1; return 0x68; - case 0x268: - consumed = 1; return 0x69; - case 0x26b: - consumed = 1; return 0x6c; - case 0x26c: - consumed = 1; return 0x6c; - case 0x26d: - consumed = 1; return 0x6c; - case 0x271: - consumed = 1; return 0x6d; - case 0x272: - consumed = 1; return 0x6e; - case 0x273: - consumed = 1; return 0x6e; - case 0x27c: - consumed = 1; return 0x72; - case 0x27d: - consumed = 1; return 0x72; - case 0x282: - consumed = 1; return 0x73; - case 0x286: - consumed = 1; return 0x283; - case 0x288: - consumed = 1; return 0x74; - case 0x28b: - consumed = 1; return 0x76; - case 0x290: - consumed = 1; return 0x7a; - case 0x291: - consumed = 1; return 0x7a; - case 0x292: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x30c: - consumed = 2; return 0x292; - } - } - consumed = 1; return *in; - case 0x293: - consumed = 1; return 0x292; - case 0x29d: - consumed = 1; return 0x6a; - case 0x2a0: - consumed = 1; return 0x71; - case 0x386: - consumed = 1; return 0x391; - case 0x388: - consumed = 1; return 0x395; - case 0x389: - consumed = 1; return 0x397; - case 0x38a: - consumed = 1; return 0x399; - case 0x38c: - consumed = 1; return 0x39f; - case 0x38e: - consumed = 1; return 0x3a5; - case 0x38f: - consumed = 1; return 0x3a9; - case 0x390: - consumed = 1; return 0x3b9; - case 0x391: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x391; - case 0x301: - consumed = 2; return 0x391; - case 0x304: - consumed = 2; return 0x391; - case 0x306: - consumed = 2; return 0x391; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x391; - case 0x301: - consumed = 3; return 0x391; - case 0x342: - consumed = 3; return 0x391; - } - } - consumed = 2; return 0x391; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x391; - case 0x301: - consumed = 3; return 0x391; - case 0x342: - consumed = 3; return 0x391; - } - } - consumed = 2; return 0x391; - } - } - consumed = 1; return *in; - case 0x395: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x395; - case 0x301: - consumed = 2; return 0x395; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x395; - case 0x301: - consumed = 3; return 0x395; - } - } - consumed = 2; return 0x395; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x395; - case 0x301: - consumed = 3; return 0x395; - } - } - consumed = 2; return 0x395; - } - } - consumed = 1; return *in; - case 0x397: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x397; - case 0x301: - consumed = 2; return 0x397; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x397; - case 0x301: - consumed = 3; return 0x397; - case 0x342: - consumed = 3; return 0x397; - } - } - consumed = 2; return 0x397; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x397; - case 0x301: - consumed = 3; return 0x397; - case 0x342: - consumed = 3; return 0x397; - } - } - consumed = 2; return 0x397; - } - } - consumed = 1; return *in; - case 0x399: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x399; - case 0x301: - consumed = 2; return 0x399; - case 0x304: - consumed = 2; return 0x399; - case 0x306: - consumed = 2; return 0x399; - case 0x308: - consumed = 2; return 0x399; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x399; - case 0x301: - consumed = 3; return 0x399; - case 0x342: - consumed = 3; return 0x399; - } - } - consumed = 2; return 0x399; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x399; - case 0x301: - consumed = 3; return 0x399; - case 0x342: - consumed = 3; return 0x399; - } - } - consumed = 2; return 0x399; - } - } - consumed = 1; return *in; - case 0x39f: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x39f; - case 0x301: - consumed = 2; return 0x39f; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x39f; - case 0x301: - consumed = 3; return 0x39f; - } - } - consumed = 2; return 0x39f; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x39f; - case 0x301: - consumed = 3; return 0x39f; - } - } - consumed = 2; return 0x39f; - } - } - consumed = 1; return *in; - case 0x3a1: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x314: - consumed = 2; return 0x3a1; - } - } - consumed = 1; return *in; - case 0x3a5: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3a5; - case 0x301: - consumed = 2; return 0x3a5; - case 0x304: - consumed = 2; return 0x3a5; - case 0x306: - consumed = 2; return 0x3a5; - case 0x308: - consumed = 2; return 0x3a5; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3a5; - case 0x301: - consumed = 3; return 0x3a5; - case 0x342: - consumed = 3; return 0x3a5; - } - } - consumed = 2; return 0x3a5; - } - } - consumed = 1; return *in; - case 0x3a9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3a9; - case 0x301: - consumed = 2; return 0x3a9; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3a9; - case 0x301: - consumed = 3; return 0x3a9; - case 0x342: - consumed = 3; return 0x3a9; - } - } - consumed = 2; return 0x3a9; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3a9; - case 0x301: - consumed = 3; return 0x3a9; - case 0x342: - consumed = 3; return 0x3a9; - } - } - consumed = 2; return 0x3a9; - } - } - consumed = 1; return *in; - case 0x3aa: - consumed = 1; return 0x399; - case 0x3ab: - consumed = 1; return 0x3a5; - case 0x3ac: - consumed = 1; return 0x3b1; - case 0x3ad: - consumed = 1; return 0x3b5; - case 0x3ae: - consumed = 1; return 0x3b7; - case 0x3af: - consumed = 1; return 0x3b9; - case 0x3b0: - consumed = 1; return 0x3c5; - case 0x3b1: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3b1; - case 0x301: - consumed = 2; return 0x3b1; - case 0x304: - consumed = 2; return 0x3b1; - case 0x306: - consumed = 2; return 0x3b1; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b1; - case 0x301: - consumed = 3; return 0x3b1; - case 0x342: - consumed = 3; return 0x3b1; - } - } - consumed = 2; return 0x3b1; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b1; - case 0x301: - consumed = 3; return 0x3b1; - case 0x342: - consumed = 3; return 0x3b1; - } - } - consumed = 2; return 0x3b1; - case 0x342: - consumed = 2; return 0x3b1; - } - } - consumed = 1; return *in; - case 0x3b5: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3b5; - case 0x301: - consumed = 2; return 0x3b5; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b5; - case 0x301: - consumed = 3; return 0x3b5; - } - } - consumed = 2; return 0x3b5; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b5; - case 0x301: - consumed = 3; return 0x3b5; - } - } - consumed = 2; return 0x3b5; - } - } - consumed = 1; return *in; - case 0x3b7: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3b7; - case 0x301: - consumed = 2; return 0x3b7; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b7; - case 0x301: - consumed = 3; return 0x3b7; - case 0x342: - consumed = 3; return 0x3b7; - } - } - consumed = 2; return 0x3b7; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b7; - case 0x301: - consumed = 3; return 0x3b7; - case 0x342: - consumed = 3; return 0x3b7; - } - } - consumed = 2; return 0x3b7; - case 0x342: - consumed = 2; return 0x3b7; - } - } - consumed = 1; return *in; - case 0x3b9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3b9; - case 0x301: - consumed = 2; return 0x3b9; - case 0x304: - consumed = 2; return 0x3b9; - case 0x306: - consumed = 2; return 0x3b9; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b9; - case 0x301: - consumed = 3; return 0x3b9; - case 0x342: - consumed = 3; return 0x3b9; - } - } - consumed = 2; return 0x3b9; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b9; - case 0x301: - consumed = 3; return 0x3b9; - case 0x342: - consumed = 3; return 0x3b9; - } - } - consumed = 2; return 0x3b9; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3b9; - case 0x301: - consumed = 3; return 0x3b9; - case 0x342: - consumed = 3; return 0x3b9; - } - } - consumed = 2; return 0x3b9; - case 0x342: - consumed = 2; return 0x3b9; - } - } - consumed = 1; return *in; - case 0x3bf: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3bf; - case 0x301: - consumed = 2; return 0x3bf; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3bf; - case 0x301: - consumed = 3; return 0x3bf; - } - } - consumed = 2; return 0x3bf; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3bf; - case 0x301: - consumed = 3; return 0x3bf; - } - } - consumed = 2; return 0x3bf; - } - } - consumed = 1; return *in; - case 0x3c1: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x313: - consumed = 2; return 0x3c1; - case 0x314: - consumed = 2; return 0x3c1; - } - } - consumed = 1; return *in; - case 0x3c5: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3c5; - case 0x301: - consumed = 2; return 0x3c5; - case 0x304: - consumed = 2; return 0x3c5; - case 0x306: - consumed = 2; return 0x3c5; - case 0x308: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3c5; - case 0x301: - consumed = 3; return 0x3c5; - case 0x342: - consumed = 3; return 0x3c5; - } - } - consumed = 2; return 0x3c5; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3c5; - case 0x301: - consumed = 3; return 0x3c5; - case 0x342: - consumed = 3; return 0x3c5; - } - } - consumed = 2; return 0x3c5; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3c5; - case 0x301: - consumed = 3; return 0x3c5; - case 0x342: - consumed = 3; return 0x3c5; - } - } - consumed = 2; return 0x3c5; - case 0x342: - consumed = 2; return 0x3c5; - } - } - consumed = 1; return *in; - case 0x3c9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x3c9; - case 0x301: - consumed = 2; return 0x3c9; - case 0x313: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3c9; - case 0x301: - consumed = 3; return 0x3c9; - case 0x342: - consumed = 3; return 0x3c9; - } - } - consumed = 2; return 0x3c9; - case 0x314: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x300: - consumed = 3; return 0x3c9; - case 0x301: - consumed = 3; return 0x3c9; - case 0x342: - consumed = 3; return 0x3c9; - } - } - consumed = 2; return 0x3c9; - case 0x342: - consumed = 2; return 0x3c9; - } - } - consumed = 1; return *in; - case 0x3ca: - consumed = 1; return 0x3b9; - case 0x3cb: - consumed = 1; return 0x3c5; - case 0x3cc: - consumed = 1; return 0x3bf; - case 0x3cd: - consumed = 1; return 0x3c5; - case 0x3ce: - consumed = 1; return 0x3c9; - case 0x3d2: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x301: - consumed = 2; return 0x3d2; - case 0x308: - consumed = 2; return 0x3d2; - } - } - consumed = 1; return *in; - case 0x400: - consumed = 1; return 0x415; - case 0x401: - consumed = 1; return 0x415; - case 0x40d: - consumed = 1; return 0x418; - case 0x410: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x306: - consumed = 2; return 0x410; - case 0x308: - consumed = 2; return 0x410; - } - } - consumed = 1; return *in; - case 0x415: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x415; - case 0x306: - consumed = 2; return 0x415; - } - } - consumed = 1; return *in; - case 0x416: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x306: - consumed = 2; return 0x416; - case 0x308: - consumed = 2; return 0x416; - } - } - consumed = 1; return *in; - case 0x417: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x417; - } - } - consumed = 1; return *in; - case 0x418: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x418; - case 0x304: - consumed = 2; return 0x418; - case 0x308: - consumed = 2; return 0x418; - } - } - consumed = 1; return *in; - case 0x41e: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x41e; - } - } - consumed = 1; return *in; - case 0x423: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x304: - consumed = 2; return 0x423; - case 0x308: - consumed = 2; return 0x423; - case 0x30b: - consumed = 2; return 0x423; - } - } - consumed = 1; return *in; - case 0x427: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x427; - } - } - consumed = 1; return *in; - case 0x42b: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x42b; - } - } - consumed = 1; return *in; - case 0x42d: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x42d; - } - } - consumed = 1; return *in; - case 0x430: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x306: - consumed = 2; return 0x430; - case 0x308: - consumed = 2; return 0x430; - } - } - consumed = 1; return *in; - case 0x435: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x435; - case 0x306: - consumed = 2; return 0x435; - } - } - consumed = 1; return *in; - case 0x436: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x306: - consumed = 2; return 0x436; - case 0x308: - consumed = 2; return 0x436; - } - } - consumed = 1; return *in; - case 0x437: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x437; - } - } - consumed = 1; return *in; - case 0x438: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x300: - consumed = 2; return 0x438; - case 0x304: - consumed = 2; return 0x438; - case 0x308: - consumed = 2; return 0x438; - } - } - consumed = 1; return *in; - case 0x43e: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x43e; - } - } - consumed = 1; return *in; - case 0x443: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x304: - consumed = 2; return 0x443; - case 0x308: - consumed = 2; return 0x443; - case 0x30b: - consumed = 2; return 0x443; - } - } - consumed = 1; return *in; - case 0x447: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x447; - } - } - consumed = 1; return *in; - case 0x44b: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x44b; - } - } - consumed = 1; return *in; - case 0x44d: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x44d; - } - } - consumed = 1; return *in; - case 0x450: - consumed = 1; return 0x435; - case 0x451: - consumed = 1; return 0x435; - case 0x45d: - consumed = 1; return 0x438; - case 0x474: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x30f: - consumed = 2; return 0x474; - } - } - consumed = 1; return *in; - case 0x475: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x30f: - consumed = 2; return 0x475; - } - } - consumed = 1; return *in; - case 0x476: - consumed = 1; return 0x474; - case 0x477: - consumed = 1; return 0x475; - case 0x47c: - consumed = 1; return 0x460; - case 0x47d: - consumed = 1; return 0x461; - case 0x48a: - consumed = 1; return 0x419; - case 0x48b: - consumed = 1; return 0x439; - case 0x48e: - consumed = 1; return 0x420; - case 0x48f: - consumed = 1; return 0x440; - case 0x490: - consumed = 1; return 0x413; - case 0x491: - consumed = 1; return 0x433; - case 0x492: - consumed = 1; return 0x413; - case 0x493: - consumed = 1; return 0x433; - case 0x494: - consumed = 1; return 0x413; - case 0x495: - consumed = 1; return 0x433; - case 0x496: - consumed = 1; return 0x416; - case 0x497: - consumed = 1; return 0x436; - case 0x498: - consumed = 1; return 0x417; - case 0x499: - consumed = 1; return 0x437; - case 0x49a: - consumed = 1; return 0x41a; - case 0x49b: - consumed = 1; return 0x43a; - case 0x49c: - consumed = 1; return 0x41a; - case 0x49d: - consumed = 1; return 0x43a; - case 0x49e: - consumed = 1; return 0x41a; - case 0x49f: - consumed = 1; return 0x43a; - case 0x4a2: - consumed = 1; return 0x41d; - case 0x4a3: - consumed = 1; return 0x43d; - case 0x4a6: - consumed = 1; return 0x41f; - case 0x4a7: - consumed = 1; return 0x43f; - case 0x4aa: - consumed = 1; return 0x421; - case 0x4ab: - consumed = 1; return 0x441; - case 0x4ac: - consumed = 1; return 0x422; - case 0x4ad: - consumed = 1; return 0x442; - case 0x4b0: - consumed = 1; return 0x4ae; - case 0x4b1: - consumed = 1; return 0x4af; - case 0x4b2: - consumed = 1; return 0x425; - case 0x4b3: - consumed = 1; return 0x425; - case 0x4b6: - consumed = 1; return 0x4bc; - case 0x4b7: - consumed = 1; return 0x4bc; - case 0x4b8: - consumed = 1; return 0x4bc; - case 0x4b9: - consumed = 1; return 0x447; - case 0x4be: - consumed = 1; return 0x4bc; - case 0x4bf: - consumed = 1; return 0x4bc; - case 0x4c1: - consumed = 1; return 0x416; - case 0x4c2: - consumed = 1; return 0x436; - case 0x4c3: - consumed = 1; return 0x41a; - case 0x4c4: - consumed = 1; return 0x43a; - case 0x4c5: - consumed = 1; return 0x41b; - case 0x4c6: - consumed = 1; return 0x43b; - case 0x4c7: - consumed = 1; return 0x41d; - case 0x4c8: - consumed = 1; return 0x43d; - case 0x4c9: - consumed = 1; return 0x41d; - case 0x4ca: - consumed = 1; return 0x43d; - case 0x4cb: - consumed = 1; return 0x4bc; - case 0x4cc: - consumed = 1; return 0x4bc; - case 0x4cd: - consumed = 1; return 0x41c; - case 0x4ce: - consumed = 1; return 0x43c; - case 0x4d0: - consumed = 1; return 0x410; - case 0x4d1: - consumed = 1; return 0x430; - case 0x4d2: - consumed = 1; return 0x410; - case 0x4d3: - consumed = 1; return 0x430; - case 0x4d6: - consumed = 1; return 0x415; - case 0x4d7: - consumed = 1; return 0x435; - case 0x4d8: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x4d8; - } - } - consumed = 1; return *in; - case 0x4d9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x4d9; - } - } - consumed = 1; return *in; - case 0x4da: - consumed = 1; return 0x4d8; - case 0x4db: - consumed = 1; return 0x4d9; - case 0x4dc: - consumed = 1; return 0x416; - case 0x4dd: - consumed = 1; return 0x436; - case 0x4de: - consumed = 1; return 0x417; - case 0x4df: - consumed = 1; return 0x437; - case 0x4e2: - consumed = 1; return 0x418; - case 0x4e3: - consumed = 1; return 0x438; - case 0x4e4: - consumed = 1; return 0x418; - case 0x4e5: - consumed = 1; return 0x438; - case 0x4e6: - consumed = 1; return 0x41e; - case 0x4e7: - consumed = 1; return 0x43e; - case 0x4e8: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x4e8; - } - } - consumed = 1; return *in; - case 0x4e9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x308: - consumed = 2; return 0x4e9; - } - } - consumed = 1; return *in; - case 0x4ea: - consumed = 1; return 0x4e8; - case 0x4eb: - consumed = 1; return 0x4e9; - case 0x4ec: - consumed = 1; return 0x42d; - case 0x4ed: - consumed = 1; return 0x44d; - case 0x4ee: - consumed = 1; return 0x423; - case 0x4ef: - consumed = 1; return 0x443; - case 0x4f0: - consumed = 1; return 0x423; - case 0x4f1: - consumed = 1; return 0x443; - case 0x4f2: - consumed = 1; return 0x423; - case 0x4f3: - consumed = 1; return 0x443; - case 0x4f4: - consumed = 1; return 0x427; - case 0x4f5: - consumed = 1; return 0x447; - case 0x4f8: - consumed = 1; return 0x42b; - case 0x4f9: - consumed = 1; return 0x44b; - case 0x5d0: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5b7: - consumed = 2; return 0x5d0; - case 0x5b8: - consumed = 2; return 0x5d0; - case 0x5bc: - consumed = 2; return 0x5d0; - } - } - consumed = 1; return *in; - case 0x5d1: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5d1; - case 0x5bf: - consumed = 2; return 0x5d1; - } - } - consumed = 1; return *in; - case 0x5d2: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5d2; - } - } - consumed = 1; return *in; - case 0x5d3: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5d3; - } - } - consumed = 1; return *in; - case 0x5d4: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5d4; - } - } - consumed = 1; return *in; - case 0x5d5: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5b9: - consumed = 2; return 0x5d5; - case 0x5bc: - consumed = 2; return 0x5d5; - } - } - consumed = 1; return *in; - case 0x5d6: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5d6; - } - } - consumed = 1; return *in; - case 0x5d8: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5d8; - } - } - consumed = 1; return *in; - case 0x5d9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5b4: - consumed = 2; return 0x5d9; - case 0x5bc: - consumed = 2; return 0x5d9; - } - } - consumed = 1; return *in; - case 0x5da: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5da; - } - } - consumed = 1; return *in; - case 0x5db: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5db; - case 0x5bf: - consumed = 2; return 0x5db; - } - } - consumed = 1; return *in; - case 0x5dc: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5dc; - } - } - consumed = 1; return *in; - case 0x5de: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5de; - } - } - consumed = 1; return *in; - case 0x5e0: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e0; - } - } - consumed = 1; return *in; - case 0x5e1: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e1; - } - } - consumed = 1; return *in; - case 0x5e3: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e3; - } - } - consumed = 1; return *in; - case 0x5e4: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e4; - case 0x5bf: - consumed = 2; return 0x5e4; - } - } - consumed = 1; return *in; - case 0x5e6: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e6; - } - } - consumed = 1; return *in; - case 0x5e7: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e7; - } - } - consumed = 1; return *in; - case 0x5e8: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5e8; - } - } - consumed = 1; return *in; - case 0x5e9: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - if ( size > 2 ) - { - switch( in[ 2 ] ) - { - case 0x5c1: - consumed = 3; return 0x5e9; - case 0x5c2: - consumed = 3; return 0x5e9; - } - } - consumed = 2; return 0x5e9; - case 0x5c1: - consumed = 2; return 0x5e9; - case 0x5c2: - consumed = 2; return 0x5e9; - } - } - consumed = 1; return *in; - case 0x5ea: - if ( size > 1 ) - { - switch( in[ 1 ] ) - { - case 0x5bc: - consumed = 2; return 0x5ea; - } - } - consumed = 1; return *in; - case 0x1e00: - consumed = 1; return 0x41; - case 0x1e01: - consumed = 1; return 0x61; - case 0x1e02: - consumed = 1; return 0x42; - case 0x1e03: - consumed = 1; return 0x62; - case 0x1e04: - consumed = 1; return 0x42; - case 0x1e05: - consumed = 1; return 0x62; - case 0x1e06: - consumed = 1; return 0x42; - case 0x1e07: - consumed = 1; return 0x62; - case 0x1e08: - consumed = 1; return 0x43; - case 0x1e09: - consumed = 1; return 0x63; - case 0x1e0a: - consumed = 1; return 0x44; - case 0x1e0b: - consumed = 1; return 0x64; - case 0x1e0c: - consumed = 1; return 0x44; - case 0x1e0d: - consumed = 1; return 0x64; - case 0x1e0e: - consumed = 1; return 0x44; - case 0x1e0f: - consumed = 1; return 0x64; - case 0x1e10: - consumed = 1; return 0x44; - case 0x1e11: - consumed = 1; return 0x64; - case 0x1e12: - consumed = 1; return 0x44; - case 0x1e13: - consumed = 1; return 0x64; - case 0x1e14: - consumed = 1; return 0x45; - case 0x1e15: - consumed = 1; return 0x65; - case 0x1e16: - consumed = 1; return 0x45; - case 0x1e17: - consumed = 1; return 0x65; - case 0x1e18: - consumed = 1; return 0x45; - case 0x1e19: - consumed = 1; return 0x65; - case 0x1e1a: - consumed = 1; return 0x45; - case 0x1e1b: - consumed = 1; return 0x65; - case 0x1e1c: - consumed = 1; return 0x45; - case 0x1e1d: - consumed = 1; return 0x65; - case 0x1e1e: - consumed = 1; return 0x46; - case 0x1e1f: - consumed = 1; return 0x66; - case 0x1e20: - consumed = 1; return 0x47; - case 0x1e21: - consumed = 1; return 0x67; - case 0x1e22: - consumed = 1; return 0x48; - case 0x1e23: - consumed = 1; return 0x68; - case 0x1e24: - consumed = 1; return 0x48; - case 0x1e25: - consumed = 1; return 0x68; - case 0x1e26: - consumed = 1; return 0x48; - case 0x1e27: - consumed = 1; return 0x68; - case 0x1e28: - consumed = 1; return 0x48; - case 0x1e29: - consumed = 1; return 0x68; - case 0x1e2a: - consumed = 1; return 0x48; - case 0x1e2b: - consumed = 1; return 0x68; - case 0x1e2c: - consumed = 1; return 0x49; - case 0x1e2d: - consumed = 1; return 0x69; - case 0x1e2e: - consumed = 1; return 0x49; - case 0x1e2f: - consumed = 1; return 0x69; - case 0x1e30: - consumed = 1; return 0x4b; - case 0x1e31: - consumed = 1; return 0x6b; - case 0x1e32: - consumed = 1; return 0x4b; - case 0x1e33: - consumed = 1; return 0x6b; - case 0x1e34: - consumed = 1; return 0x4b; - case 0x1e35: - consumed = 1; return 0x6b; - case 0x1e36: - consumed = 1; return 0x4c; - case 0x1e37: - consumed = 1; return 0x6c; - case 0x1e38: - consumed = 1; return 0x4c; - case 0x1e39: - consumed = 1; return 0x6c; - case 0x1e3a: - consumed = 1; return 0x4c; - case 0x1e3b: - consumed = 1; return 0x6c; - case 0x1e3c: - consumed = 1; return 0x4c; - case 0x1e3d: - consumed = 1; return 0x6c; - case 0x1e3e: - consumed = 1; return 0x4d; - case 0x1e3f: - consumed = 1; return 0x6d; - case 0x1e40: - consumed = 1; return 0x4d; - case 0x1e41: - consumed = 1; return 0x6d; - case 0x1e42: - consumed = 1; return 0x4d; - case 0x1e43: - consumed = 1; return 0x6d; - case 0x1e44: - consumed = 1; return 0x4e; - case 0x1e45: - consumed = 1; return 0x6e; - case 0x1e46: - consumed = 1; return 0x4e; - case 0x1e47: - consumed = 1; return 0x6e; - case 0x1e48: - consumed = 1; return 0x4e; - case 0x1e49: - consumed = 1; return 0x6e; - case 0x1e4a: - consumed = 1; return 0x4e; - case 0x1e4b: - consumed = 1; return 0x6e; - case 0x1e4c: - consumed = 1; return 0x4f; - case 0x1e4d: - consumed = 1; return 0x6f; - case 0x1e4e: - consumed = 1; return 0x4f; - case 0x1e4f: - consumed = 1; return 0x6f; - case 0x1e50: - consumed = 1; return 0x4f; - case 0x1e51: - consumed = 1; return 0x6f; - case 0x1e52: - consumed = 1; return 0x4f; - case 0x1e53: - consumed = 1; return 0x6f; - case 0x1e54: - consumed = 1; return 0x50; - case 0x1e55: - consumed = 1; return 0x70; - case 0x1e56: - consumed = 1; return 0x50; - case 0x1e57: - consumed = 1; return 0x70; - case 0x1e58: - consumed = 1; return 0x52; - case 0x1e59: - consumed = 1; return 0x72; - case 0x1e5a: - consumed = 1; return 0x52; - case 0x1e5b: - consumed = 1; return 0x72; - case 0x1e5c: - consumed = 1; return 0x52; - case 0x1e5d: - consumed = 1; return 0x72; - case 0x1e5e: - consumed = 1; return 0x52; - case 0x1e5f: - consumed = 1; return 0x72; - case 0x1e60: - consumed = 1; return 0x53; - case 0x1e61: - consumed = 1; return 0x73; - case 0x1e62: - consumed = 1; return 0x53; - case 0x1e63: - consumed = 1; return 0x73; - case 0x1e64: - consumed = 1; return 0x53; - case 0x1e65: - consumed = 1; return 0x73; - case 0x1e66: - consumed = 1; return 0x53; - case 0x1e67: - consumed = 1; return 0x73; - case 0x1e68: - consumed = 1; return 0x53; - case 0x1e69: - consumed = 1; return 0x73; - case 0x1e6a: - consumed = 1; return 0x54; - case 0x1e6b: - consumed = 1; return 0x74; - case 0x1e6c: - consumed = 1; return 0x54; - case 0x1e6d: - consumed = 1; return 0x74; - case 0x1e6e: - consumed = 1; return 0x54; - case 0x1e6f: - consumed = 1; return 0x74; - case 0x1e70: - consumed = 1; return 0x54; - case 0x1e71: - consumed = 1; return 0x74; - case 0x1e72: - consumed = 1; return 0x55; - case 0x1e73: - consumed = 1; return 0x75; - case 0x1e74: - consumed = 1; return 0x55; - case 0x1e75: - consumed = 1; return 0x75; - case 0x1e76: - consumed = 1; return 0x55; - case 0x1e77: - consumed = 1; return 0x75; - case 0x1e78: - consumed = 1; return 0x55; - case 0x1e79: - consumed = 1; return 0x75; - case 0x1e7a: - consumed = 1; return 0x55; - case 0x1e7b: - consumed = 1; return 0x75; - case 0x1e7c: - consumed = 1; return 0x56; - case 0x1e7d: - consumed = 1; return 0x76; - case 0x1e7e: - consumed = 1; return 0x56; - case 0x1e7f: - consumed = 1; return 0x76; - case 0x1e80: - consumed = 1; return 0x57; - case 0x1e81: - consumed = 1; return 0x77; - case 0x1e82: - consumed = 1; return 0x57; - case 0x1e83: - consumed = 1; return 0x77; - case 0x1e84: - consumed = 1; return 0x57; - case 0x1e85: - consumed = 1; return 0x77; - case 0x1e86: - consumed = 1; return 0x57; - case 0x1e87: - consumed = 1; return 0x77; - case 0x1e88: - consumed = 1; return 0x57; - case 0x1e89: - consumed = 1; return 0x77; - case 0x1e8a: - consumed = 1; return 0x58; - case 0x1e8b: - consumed = 1; return 0x78; - case 0x1e8c: - consumed = 1; return 0x58; - case 0x1e8d: - consumed = 1; return 0x78; - case 0x1e8e: - consumed = 1; return 0x59; - case 0x1e8f: - consumed = 1; return 0x79; - case 0x1e90: - consumed = 1; return 0x5a; - case 0x1e91: - consumed = 1; return 0x7a; - case 0x1e92: - consumed = 1; return 0x5a; - case 0x1e93: - consumed = 1; return 0x7a; - case 0x1e94: - consumed = 1; return 0x5a; - case 0x1e95: - consumed = 1; return 0x7a; - case 0x1e96: - consumed = 1; return 0x68; - case 0x1e97: - consumed = 1; return 0x74; - case 0x1e98: - consumed = 1; return 0x77; - case 0x1e99: - consumed = 1; return 0x79; - case 0x1e9a: - consumed = 1; return 0x61; - case 0x1e9b: - consumed = 1; return 0x17f; - case 0x1ea0: - consumed = 1; return 0x41; - case 0x1ea1: - consumed = 1; return 0x61; - case 0x1ea2: - consumed = 1; return 0x41; - case 0x1ea3: - consumed = 1; return 0x61; - case 0x1ea4: - consumed = 1; return 0x41; - case 0x1ea5: - consumed = 1; return 0x61; - case 0x1ea6: - consumed = 1; return 0x41; - case 0x1ea7: - consumed = 1; return 0x61; - case 0x1ea8: - consumed = 1; return 0x41; - case 0x1ea9: - consumed = 1; return 0x61; - case 0x1eaa: - consumed = 1; return 0x41; - case 0x1eab: - consumed = 1; return 0x61; - case 0x1eac: - consumed = 1; return 0x41; - case 0x1ead: - consumed = 1; return 0x61; - case 0x1eae: - consumed = 1; return 0x41; - case 0x1eaf: - consumed = 1; return 0x61; - case 0x1eb0: - consumed = 1; return 0x41; - case 0x1eb1: - consumed = 1; return 0x61; - case 0x1eb2: - consumed = 1; return 0x41; - case 0x1eb3: - consumed = 1; return 0x61; - case 0x1eb4: - consumed = 1; return 0x41; - case 0x1eb5: - consumed = 1; return 0x61; - case 0x1eb6: - consumed = 1; return 0x41; - case 0x1eb7: - consumed = 1; return 0x61; - case 0x1eb8: - consumed = 1; return 0x45; - case 0x1eb9: - consumed = 1; return 0x65; - case 0x1eba: - consumed = 1; return 0x45; - case 0x1ebb: - consumed = 1; return 0x65; - case 0x1ebc: - consumed = 1; return 0x45; - case 0x1ebd: - consumed = 1; return 0x65; - case 0x1ebe: - consumed = 1; return 0x45; - case 0x1ebf: - consumed = 1; return 0x65; - case 0x1ec0: - consumed = 1; return 0x45; - case 0x1ec1: - consumed = 1; return 0x65; - case 0x1ec2: - consumed = 1; return 0x45; - case 0x1ec3: - consumed = 1; return 0x65; - case 0x1ec4: - consumed = 1; return 0x45; - case 0x1ec5: - consumed = 1; return 0x65; - case 0x1ec6: - consumed = 1; return 0x45; - case 0x1ec7: - consumed = 1; return 0x65; - case 0x1ec8: - consumed = 1; return 0x49; - case 0x1ec9: - consumed = 1; return 0x69; - case 0x1eca: - consumed = 1; return 0x49; - case 0x1ecb: - consumed = 1; return 0x69; - case 0x1ecc: - consumed = 1; return 0x4f; - case 0x1ecd: - consumed = 1; return 0x6f; - case 0x1ece: - consumed = 1; return 0x4f; - case 0x1ecf: - consumed = 1; return 0x6f; - case 0x1ed0: - consumed = 1; return 0x4f; - case 0x1ed1: - consumed = 1; return 0x6f; - case 0x1ed2: - consumed = 1; return 0x4f; - case 0x1ed3: - consumed = 1; return 0x6f; - case 0x1ed4: - consumed = 1; return 0x4f; - case 0x1ed5: - consumed = 1; return 0x6f; - case 0x1ed6: - consumed = 1; return 0x4f; - case 0x1ed7: - consumed = 1; return 0x6f; - case 0x1ed8: - consumed = 1; return 0x4f; - case 0x1ed9: - consumed = 1; return 0x6f; - case 0x1eda: - consumed = 1; return 0x4f; - case 0x1edb: - consumed = 1; return 0x6f; - case 0x1edc: - consumed = 1; return 0x4f; - case 0x1edd: - consumed = 1; return 0x6f; - case 0x1ede: - consumed = 1; return 0x4f; - case 0x1edf: - consumed = 1; return 0x6f; - case 0x1ee0: - consumed = 1; return 0x4f; - case 0x1ee1: - consumed = 1; return 0x6f; - case 0x1ee2: - consumed = 1; return 0x4f; - case 0x1ee3: - consumed = 1; return 0x6f; - case 0x1ee4: - consumed = 1; return 0x55; - case 0x1ee5: - consumed = 1; return 0x75; - case 0x1ee6: - consumed = 1; return 0x55; - case 0x1ee7: - consumed = 1; return 0x75; - case 0x1ee8: - consumed = 1; return 0x55; - case 0x1ee9: - consumed = 1; return 0x75; - case 0x1eea: - consumed = 1; return 0x55; - case 0x1eeb: - consumed = 1; return 0x75; - case 0x1eec: - consumed = 1; return 0x55; - case 0x1eed: - consumed = 1; return 0x75; - case 0x1eee: - consumed = 1; return 0x55; - case 0x1eef: - consumed = 1; return 0x75; - case 0x1ef0: - consumed = 1; return 0x55; - case 0x1ef1: - consumed = 1; return 0x75; - case 0x1ef2: - consumed = 1; return 0x59; - case 0x1ef3: - consumed = 1; return 0x79; - case 0x1ef4: - consumed = 1; return 0x59; - case 0x1ef5: - consumed = 1; return 0x79; - case 0x1ef6: - consumed = 1; return 0x59; - case 0x1ef7: - consumed = 1; return 0x79; - case 0x1ef8: - consumed = 1; return 0x59; - case 0x1ef9: - consumed = 1; return 0x79; - case 0x1f00: - consumed = 1; return 0x3b1; - case 0x1f01: - consumed = 1; return 0x3b1; - case 0x1f02: - consumed = 1; return 0x3b1; - case 0x1f03: - consumed = 1; return 0x3b1; - case 0x1f04: - consumed = 1; return 0x3b1; - case 0x1f05: - consumed = 1; return 0x3b1; - case 0x1f06: - consumed = 1; return 0x3b1; - case 0x1f07: - consumed = 1; return 0x3b1; - case 0x1f08: - consumed = 1; return 0x391; - case 0x1f09: - consumed = 1; return 0x391; - case 0x1f0a: - consumed = 1; return 0x391; - case 0x1f0b: - consumed = 1; return 0x391; - case 0x1f0c: - consumed = 1; return 0x391; - case 0x1f0d: - consumed = 1; return 0x391; - case 0x1f0e: - consumed = 1; return 0x391; - case 0x1f0f: - consumed = 1; return 0x391; - case 0x1f10: - consumed = 1; return 0x3b5; - case 0x1f11: - consumed = 1; return 0x3b5; - case 0x1f12: - consumed = 1; return 0x3b5; - case 0x1f13: - consumed = 1; return 0x3b5; - case 0x1f14: - consumed = 1; return 0x3b5; - case 0x1f15: - consumed = 1; return 0x3b5; - case 0x1f18: - consumed = 1; return 0x395; - case 0x1f19: - consumed = 1; return 0x395; - case 0x1f1a: - consumed = 1; return 0x395; - case 0x1f1b: - consumed = 1; return 0x395; - case 0x1f1c: - consumed = 1; return 0x395; - case 0x1f1d: - consumed = 1; return 0x395; - case 0x1f20: - consumed = 1; return 0x3b7; - case 0x1f21: - consumed = 1; return 0x3b7; - case 0x1f22: - consumed = 1; return 0x3b7; - case 0x1f23: - consumed = 1; return 0x3b7; - case 0x1f24: - consumed = 1; return 0x3b7; - case 0x1f25: - consumed = 1; return 0x3b7; - case 0x1f26: - consumed = 1; return 0x3b7; - case 0x1f27: - consumed = 1; return 0x3b7; - case 0x1f28: - consumed = 1; return 0x397; - case 0x1f29: - consumed = 1; return 0x397; - case 0x1f2a: - consumed = 1; return 0x397; - case 0x1f2b: - consumed = 1; return 0x397; - case 0x1f2c: - consumed = 1; return 0x397; - case 0x1f2d: - consumed = 1; return 0x397; - case 0x1f2e: - consumed = 1; return 0x397; - case 0x1f2f: - consumed = 1; return 0x397; - case 0x1f30: - consumed = 1; return 0x3b9; - case 0x1f31: - consumed = 1; return 0x3b9; - case 0x1f32: - consumed = 1; return 0x3b9; - case 0x1f33: - consumed = 1; return 0x3b9; - case 0x1f34: - consumed = 1; return 0x3b9; - case 0x1f35: - consumed = 1; return 0x3b9; - case 0x1f36: - consumed = 1; return 0x3b9; - case 0x1f37: - consumed = 1; return 0x3b9; - case 0x1f38: - consumed = 1; return 0x399; - case 0x1f39: - consumed = 1; return 0x399; - case 0x1f3a: - consumed = 1; return 0x399; - case 0x1f3b: - consumed = 1; return 0x399; - case 0x1f3c: - consumed = 1; return 0x399; - case 0x1f3d: - consumed = 1; return 0x399; - case 0x1f3e: - consumed = 1; return 0x399; - case 0x1f3f: - consumed = 1; return 0x399; - case 0x1f40: - consumed = 1; return 0x3bf; - case 0x1f41: - consumed = 1; return 0x3bf; - case 0x1f42: - consumed = 1; return 0x3bf; - case 0x1f43: - consumed = 1; return 0x3bf; - case 0x1f44: - consumed = 1; return 0x3bf; - case 0x1f45: - consumed = 1; return 0x3bf; - case 0x1f48: - consumed = 1; return 0x39f; - case 0x1f49: - consumed = 1; return 0x39f; - case 0x1f4a: - consumed = 1; return 0x39f; - case 0x1f4b: - consumed = 1; return 0x39f; - case 0x1f4c: - consumed = 1; return 0x39f; - case 0x1f4d: - consumed = 1; return 0x39f; - case 0x1f50: - consumed = 1; return 0x3c5; - case 0x1f51: - consumed = 1; return 0x3c5; - case 0x1f52: - consumed = 1; return 0x3c5; - case 0x1f53: - consumed = 1; return 0x3c5; - case 0x1f54: - consumed = 1; return 0x3c5; - case 0x1f55: - consumed = 1; return 0x3c5; - case 0x1f56: - consumed = 1; return 0x3c5; - case 0x1f57: - consumed = 1; return 0x3c5; - case 0x1f59: - consumed = 1; return 0x3a5; - case 0x1f5b: - consumed = 1; return 0x3a5; - case 0x1f5d: - consumed = 1; return 0x3a5; - case 0x1f5f: - consumed = 1; return 0x3a5; - case 0x1f60: - consumed = 1; return 0x3c9; - case 0x1f61: - consumed = 1; return 0x3c9; - case 0x1f62: - consumed = 1; return 0x3c9; - case 0x1f63: - consumed = 1; return 0x3c9; - case 0x1f64: - consumed = 1; return 0x3c9; - case 0x1f65: - consumed = 1; return 0x3c9; - case 0x1f66: - consumed = 1; return 0x3c9; - case 0x1f67: - consumed = 1; return 0x3c9; - case 0x1f68: - consumed = 1; return 0x3a9; - case 0x1f69: - consumed = 1; return 0x3a9; - case 0x1f6a: - consumed = 1; return 0x3a9; - case 0x1f6b: - consumed = 1; return 0x3a9; - case 0x1f6c: - consumed = 1; return 0x3a9; - case 0x1f6d: - consumed = 1; return 0x3a9; - case 0x1f6e: - consumed = 1; return 0x3a9; - case 0x1f6f: - consumed = 1; return 0x3a9; - case 0x1f70: - consumed = 1; return 0x3b1; - case 0x1f71: - consumed = 1; return 0x3b1; - case 0x1f72: - consumed = 1; return 0x3b5; - case 0x1f73: - consumed = 1; return 0x3b5; - case 0x1f74: - consumed = 1; return 0x3b7; - case 0x1f75: - consumed = 1; return 0x3b7; - case 0x1f76: - consumed = 1; return 0x3b9; - case 0x1f77: - consumed = 1; return 0x3b9; - case 0x1f78: - consumed = 1; return 0x3bf; - case 0x1f79: - consumed = 1; return 0x3bf; - case 0x1f7a: - consumed = 1; return 0x3c5; - case 0x1f7b: - consumed = 1; return 0x3c5; - case 0x1f7c: - consumed = 1; return 0x3c9; - case 0x1f7d: - consumed = 1; return 0x3c9; - case 0x1f80: - consumed = 1; return 0x3b1; - case 0x1f81: - consumed = 1; return 0x3b1; - case 0x1f82: - consumed = 1; return 0x3b1; - case 0x1f83: - consumed = 1; return 0x3b1; - case 0x1f84: - consumed = 1; return 0x3b1; - case 0x1f85: - consumed = 1; return 0x3b1; - case 0x1f86: - consumed = 1; return 0x3b1; - case 0x1f87: - consumed = 1; return 0x3b1; - case 0x1f88: - consumed = 1; return 0x391; - case 0x1f89: - consumed = 1; return 0x391; - case 0x1f8a: - consumed = 1; return 0x391; - case 0x1f8b: - consumed = 1; return 0x391; - case 0x1f8c: - consumed = 1; return 0x391; - case 0x1f8d: - consumed = 1; return 0x391; - case 0x1f8e: - consumed = 1; return 0x391; - case 0x1f8f: - consumed = 1; return 0x391; - case 0x1f90: - consumed = 1; return 0x3b7; - case 0x1f91: - consumed = 1; return 0x3b7; - case 0x1f92: - consumed = 1; return 0x3b7; - case 0x1f93: - consumed = 1; return 0x3b7; - case 0x1f94: - consumed = 1; return 0x3b7; - case 0x1f95: - consumed = 1; return 0x3b7; - case 0x1f96: - consumed = 1; return 0x3b7; - case 0x1f97: - consumed = 1; return 0x3b7; - case 0x1f98: - consumed = 1; return 0x397; - case 0x1f99: - consumed = 1; return 0x397; - case 0x1f9a: - consumed = 1; return 0x397; - case 0x1f9b: - consumed = 1; return 0x397; - case 0x1f9c: - consumed = 1; return 0x397; - case 0x1f9d: - consumed = 1; return 0x397; - case 0x1f9e: - consumed = 1; return 0x397; - case 0x1f9f: - consumed = 1; return 0x397; - case 0x1fa0: - consumed = 1; return 0x3c9; - case 0x1fa1: - consumed = 1; return 0x3c9; - case 0x1fa2: - consumed = 1; return 0x3c9; - case 0x1fa3: - consumed = 1; return 0x3c9; - case 0x1fa4: - consumed = 1; return 0x3c9; - case 0x1fa5: - consumed = 1; return 0x3c9; - case 0x1fa6: - consumed = 1; return 0x3c9; - case 0x1fa7: - consumed = 1; return 0x3c9; - case 0x1fa8: - consumed = 1; return 0x3a9; - case 0x1fa9: - consumed = 1; return 0x3a9; - case 0x1faa: - consumed = 1; return 0x3a9; - case 0x1fab: - consumed = 1; return 0x3a9; - case 0x1fac: - consumed = 1; return 0x3a9; - case 0x1fad: - consumed = 1; return 0x3a9; - case 0x1fae: - consumed = 1; return 0x3a9; - case 0x1faf: - consumed = 1; return 0x3a9; - case 0x1fb0: - consumed = 1; return 0x3b1; - case 0x1fb1: - consumed = 1; return 0x3b1; - case 0x1fb2: - consumed = 1; return 0x3b1; - case 0x1fb3: - consumed = 1; return 0x3b1; - case 0x1fb4: - consumed = 1; return 0x3b1; - case 0x1fb6: - consumed = 1; return 0x3b1; - case 0x1fb7: - consumed = 1; return 0x3b1; - case 0x1fb8: - consumed = 1; return 0x391; - case 0x1fb9: - consumed = 1; return 0x391; - case 0x1fba: - consumed = 1; return 0x391; - case 0x1fbb: - consumed = 1; return 0x391; - case 0x1fbc: - consumed = 1; return 0x391; - case 0x1fc2: - consumed = 1; return 0x3b7; - case 0x1fc3: - consumed = 1; return 0x3b7; - case 0x1fc4: - consumed = 1; return 0x3b7; - case 0x1fc6: - consumed = 1; return 0x3b7; - case 0x1fc7: - consumed = 1; return 0x3b7; - case 0x1fc8: - consumed = 1; return 0x395; - case 0x1fc9: - consumed = 1; return 0x395; - case 0x1fca: - consumed = 1; return 0x397; - case 0x1fcb: - consumed = 1; return 0x397; - case 0x1fcc: - consumed = 1; return 0x397; - case 0x1fd0: - consumed = 1; return 0x3b9; - case 0x1fd1: - consumed = 1; return 0x3b9; - case 0x1fd2: - consumed = 1; return 0x3b9; - case 0x1fd3: - consumed = 1; return 0x3b9; - case 0x1fd6: - consumed = 1; return 0x3b9; - case 0x1fd7: - consumed = 1; return 0x3b9; - case 0x1fd8: - consumed = 1; return 0x399; - case 0x1fd9: - consumed = 1; return 0x399; - case 0x1fda: - consumed = 1; return 0x399; - case 0x1fdb: - consumed = 1; return 0x399; - case 0x1fe0: - consumed = 1; return 0x3c5; - case 0x1fe1: - consumed = 1; return 0x3c5; - case 0x1fe2: - consumed = 1; return 0x3c5; - case 0x1fe3: - consumed = 1; return 0x3c5; - case 0x1fe4: - consumed = 1; return 0x3c1; - case 0x1fe5: - consumed = 1; return 0x3c1; - case 0x1fe6: - consumed = 1; return 0x3c5; - case 0x1fe7: - consumed = 1; return 0x3c5; - case 0x1fe8: - consumed = 1; return 0x3a5; - case 0x1fe9: - consumed = 1; return 0x3a5; - case 0x1fea: - consumed = 1; return 0x3a5; - case 0x1feb: - consumed = 1; return 0x3a5; - case 0x1fec: - consumed = 1; return 0x3a1; - case 0x1ff2: - consumed = 1; return 0x3c9; - case 0x1ff3: - consumed = 1; return 0x3c9; - case 0x1ff4: - consumed = 1; return 0x3c9; - case 0x1ff6: - consumed = 1; return 0x3c9; - case 0x1ff7: - consumed = 1; return 0x3c9; - case 0x1ff8: - consumed = 1; return 0x39f; - case 0x1ff9: - consumed = 1; return 0x39f; - case 0x1ffa: - consumed = 1; return 0x3a9; - case 0x1ffb: - consumed = 1; return 0x3a9; - case 0x1ffc: - consumed = 1; return 0x3a9; - case 0xfb1d: - consumed = 1; return 0x5d9; - case 0xfb2a: - consumed = 1; return 0x5e9; - case 0xfb2b: - consumed = 1; return 0x5e9; - case 0xfb2c: - consumed = 1; return 0x5e9; - case 0xfb2d: - consumed = 1; return 0x5e9; - case 0xfb2e: - consumed = 1; return 0x5d0; - case 0xfb2f: - consumed = 1; return 0x5d0; - case 0xfb30: - consumed = 1; return 0x5d0; - case 0xfb31: - consumed = 1; return 0x5d1; - case 0xfb32: - consumed = 1; return 0x5d2; - case 0xfb33: - consumed = 1; return 0x5d3; - case 0xfb34: - consumed = 1; return 0x5d4; - case 0xfb35: - consumed = 1; return 0x5d5; - case 0xfb36: - consumed = 1; return 0x5d6; - case 0xfb38: - consumed = 1; return 0x5d8; - case 0xfb39: - consumed = 1; return 0x5d9; - case 0xfb3a: - consumed = 1; return 0x5da; - case 0xfb3b: - consumed = 1; return 0x5db; - case 0xfb3c: - consumed = 1; return 0x5dc; - case 0xfb3e: - consumed = 1; return 0x5de; - case 0xfb40: - consumed = 1; return 0x5e0; - case 0xfb41: - consumed = 1; return 0x5e1; - case 0xfb43: - consumed = 1; return 0x5e3; - case 0xfb44: - consumed = 1; return 0x5e4; - case 0xfb46: - consumed = 1; return 0x5e6; - case 0xfb47: - consumed = 1; return 0x5e7; - case 0xfb48: - consumed = 1; return 0x5e8; - case 0xfb49: - consumed = 1; return 0x5e9; - case 0xfb4a: - consumed = 1; return 0x5ea; - case 0xfb4b: - consumed = 1; return 0x5d5; - case 0xfb4c: - consumed = 1; return 0x5d1; - case 0xfb4d: - consumed = 1; return 0x5db; - case 0xfb4e: - consumed = 1; return 0x5e4; - } - } - if ( size ) - { - consumed = 1; return *in; - } - consumed = 0; return 0; -} diff --git a/src/ui/articleview.cc b/src/ui/articleview.cc index d4db2ce1..2fca550a 100644 --- a/src/ui/articleview.cc +++ b/src/ui/articleview.cc @@ -142,7 +142,7 @@ public: continue; } - gd::wchar ch = Folding::foldedDiacritic( nextChar, left, consumed ); + gd::wchar ch = *nextChar; if( Folding::isCombiningMark( ch ) ) { @@ -151,16 +151,10 @@ public: continue; } - if( consumed > 1 ) - { - for( size_t i = 1; i < consumed; i++ ) - accentMarkPos.append( pos ); - } - normText.push_back( ch ); pos += 1; - nextChar += consumed; - left -= consumed; + nextChar += 1; + left -= 1; } normalizedString = QString::fromStdU32String( normText ); } diff --git a/tools/generators/DiacriticFolding.txt b/tools/generators/DiacriticFolding.txt deleted file mode 100644 index 4bb7d3e3..00000000 --- a/tools/generators/DiacriticFolding.txt +++ /dev/null @@ -1,1720 +0,0 @@ -# Note: the following lines was added for the GoldenDict. It's the only modification -# made. - -0401; 0415 # CYRILLIC CAPITAL LETTER IO -> CYRILLIC CAPITAL LETTER IE -0451; 0435 # CYRILLIC SMALL LETTER IO -> CYRILLIC SMALL LETTER IE - -# DiacriticFolding.txt -# DRAFT 1 - 2004-07-14 John Cowan -# Subject to change -# -# Base version of Unicode: 4.0.0 -# -# Datafile for Unicode Techical Report #30 -# Copyright (c) 1991-2004 Unicode, Inc. -# For terms of use, and documentation see -# http://www.unicode.org/reports/tr30/ - -# ================================= - -# -# Map all accented letters to their base character. -# -# Format -# Field 0 - character code (source) -# Field 1 - character code (target) -# Comment - utf8 of source -> utf8 of target, followed by -# characer name of source -> character name of target -# -# Notes: -# 1) This file is sorted on field 1 to make review easier -# -# 2) This version does not exclude mappings that could be derived -# by canonical decomposition and removal of combining marks -# -# 3) This version of the file contains mappings for both decomposed -# and precomposed input, but does not contain mappings for -# 'decompositions' of characters like LETTER O WITH STROKE that -# are not canonically decomposed, e.g. there are no entries like -# 004F 0338; 004F -# 006F 0338; 006F -# -# Stability -# The repertoire of canonically precomposed characters is complete, -# but some diacritics are not canonically decomposed, yet should be -# folded in some contexts. Additional instances of such characters -# are expected to be added over time, so there will be future -# additions to this table. In addition, the folding methodology has not -# been reviewed (see notes). -# -########################################################################### - -#decomposed -0041 0300; 0041 # À → A LATIN CAPITAL LETTER A, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER A -0041 0301; 0041 # Á → A LATIN CAPITAL LETTER A, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER A -0041 0302; 0041 # Â → A LATIN CAPITAL LETTER A, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER A -0041 0303; 0041 # Ã → A LATIN CAPITAL LETTER A, COMBINING TILDE → LATIN CAPITAL LETTER A -0041 0308; 0041 # Ä → A LATIN CAPITAL LETTER A, COMBINING DIAERESIS → LATIN CAPITAL LETTER A -0041 030A; 0041 # Å → A LATIN CAPITAL LETTER A, COMBINING RING ABOVE → LATIN CAPITAL LETTER A -0043 0327; 0043 # Ç → C LATIN CAPITAL LETTER C, COMBINING CEDILLA → LATIN CAPITAL LETTER C -0045 0300; 0045 # È → E LATIN CAPITAL LETTER E, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER E -0045 0301; 0045 # É → E LATIN CAPITAL LETTER E, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER E -0045 0302; 0045 # Ê → E LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER E -0045 0308; 0045 # Ë → E LATIN CAPITAL LETTER E, COMBINING DIAERESIS → LATIN CAPITAL LETTER E -0049 0300; 0049 # Ì → I LATIN CAPITAL LETTER I, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER I -0049 0301; 0049 # Í → I LATIN CAPITAL LETTER I, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER I -0049 0302; 0049 # Î → I LATIN CAPITAL LETTER I, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER I -0049 0308; 0049 # Ï → I LATIN CAPITAL LETTER I, COMBINING DIAERESIS → LATIN CAPITAL LETTER I -004E 0303; 004E # Ñ → N LATIN CAPITAL LETTER N, COMBINING TILDE → LATIN CAPITAL LETTER N -004F 0300; 004F # Ò → O LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER O -004F 0301; 004F # Ó → O LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER O -004F 0302; 004F # Ô → O LATIN CAPITAL LETTER O, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER O -004F 0303; 004F # Õ → O LATIN CAPITAL LETTER O, COMBINING TILDE → LATIN CAPITAL LETTER O -004F 0308; 004F # Ö → O LATIN CAPITAL LETTER O, COMBINING DIAERESIS → LATIN CAPITAL LETTER O -0055 0300; 0055 # Ù → U LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER U -0055 0301; 0055 # Ú → U LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER U -0055 0302; 0055 # Û → U LATIN CAPITAL LETTER U, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER U -0055 0308; 0055 # Ü → U LATIN CAPITAL LETTER U, COMBINING DIAERESIS → LATIN CAPITAL LETTER U -0059 0301; 0059 # Ý → Y LATIN CAPITAL LETTER Y, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER Y -0061 0300; 0061 # à → a LATIN SMALL LETTER A, COMBINING GRAVE ACCENT → LATIN SMALL LETTER A -0061 0301; 0061 # á → a LATIN SMALL LETTER A, COMBINING ACUTE ACCENT → LATIN SMALL LETTER A -0061 0302; 0061 # â → a LATIN SMALL LETTER A, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER A -0061 0303; 0061 # ã → a LATIN SMALL LETTER A, COMBINING TILDE → LATIN SMALL LETTER A -0061 0308; 0061 # ä → a LATIN SMALL LETTER A, COMBINING DIAERESIS → LATIN SMALL LETTER A -0061 030A; 0061 # å → a LATIN SMALL LETTER A, COMBINING RING ABOVE → LATIN SMALL LETTER A -0063 0327; 0063 # ç → c LATIN SMALL LETTER C, COMBINING CEDILLA → LATIN SMALL LETTER C -0065 0300; 0065 # è → e LATIN SMALL LETTER E, COMBINING GRAVE ACCENT → LATIN SMALL LETTER E -0065 0301; 0065 # é → e LATIN SMALL LETTER E, COMBINING ACUTE ACCENT → LATIN SMALL LETTER E -0065 0302; 0065 # ê → e LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER E -0065 0308; 0065 # ë → e LATIN SMALL LETTER E, COMBINING DIAERESIS → LATIN SMALL LETTER E -0069 0300; 0069 # ì → i LATIN SMALL LETTER I, COMBINING GRAVE ACCENT → LATIN SMALL LETTER I -0069 0301; 0069 # í → i LATIN SMALL LETTER I, COMBINING ACUTE ACCENT → LATIN SMALL LETTER I -0069 0302; 0069 # î → i LATIN SMALL LETTER I, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER I -0069 0308; 0069 # ï → i LATIN SMALL LETTER I, COMBINING DIAERESIS → LATIN SMALL LETTER I -006E 0303; 006E # ñ → n LATIN SMALL LETTER N, COMBINING TILDE → LATIN SMALL LETTER N -006F 0300; 006F # ò → o LATIN SMALL LETTER O, COMBINING GRAVE ACCENT → LATIN SMALL LETTER O -006F 0301; 006F # ó → o LATIN SMALL LETTER O, COMBINING ACUTE ACCENT → LATIN SMALL LETTER O -006F 0302; 006F # ô → o LATIN SMALL LETTER O, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER O -006F 0303; 006F # õ → o LATIN SMALL LETTER O, COMBINING TILDE → LATIN SMALL LETTER O -006F 0308; 006F # ö → o LATIN SMALL LETTER O, COMBINING DIAERESIS → LATIN SMALL LETTER O -0075 0300; 0075 # ù → u LATIN SMALL LETTER U, COMBINING GRAVE ACCENT → LATIN SMALL LETTER U -0075 0301; 0075 # ú → u LATIN SMALL LETTER U, COMBINING ACUTE ACCENT → LATIN SMALL LETTER U -0075 0302; 0075 # û → u LATIN SMALL LETTER U, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER U -0075 0308; 0075 # ü → u LATIN SMALL LETTER U, COMBINING DIAERESIS → LATIN SMALL LETTER U -0079 0301; 0079 # ý → y LATIN SMALL LETTER Y, COMBINING ACUTE ACCENT → LATIN SMALL LETTER Y -0079 0308; 0079 # ÿ → y LATIN SMALL LETTER Y, COMBINING DIAERESIS → LATIN SMALL LETTER Y -0041 0304; 0041 # Ā → A LATIN CAPITAL LETTER A, COMBINING MACRON → LATIN CAPITAL LETTER A -0061 0304; 0061 # ā → a LATIN SMALL LETTER A, COMBINING MACRON → LATIN SMALL LETTER A -0041 0306; 0041 # Ă → A LATIN CAPITAL LETTER A, COMBINING BREVE → LATIN CAPITAL LETTER A -0061 0306; 0061 # ă → a LATIN SMALL LETTER A, COMBINING BREVE → LATIN SMALL LETTER A -0041 0328; 0041 # Ą → A LATIN CAPITAL LETTER A, COMBINING OGONEK → LATIN CAPITAL LETTER A -0061 0328; 0061 # ą → a LATIN SMALL LETTER A, COMBINING OGONEK → LATIN SMALL LETTER A -0043 0301; 0043 # Ć → C LATIN CAPITAL LETTER C, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER C -0063 0301; 0063 # ć → c LATIN SMALL LETTER C, COMBINING ACUTE ACCENT → LATIN SMALL LETTER C -0043 0302; 0043 # Ĉ → C LATIN CAPITAL LETTER C, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER C -0063 0302; 0063 # ĉ → c LATIN SMALL LETTER C, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER C -0043 0307; 0043 # Ċ → C LATIN CAPITAL LETTER C, COMBINING DOT ABOVE → LATIN CAPITAL LETTER C -0063 0307; 0063 # ċ → c LATIN SMALL LETTER C, COMBINING DOT ABOVE → LATIN SMALL LETTER C -0043 030C; 0043 # Č → C LATIN CAPITAL LETTER C, COMBINING CARON → LATIN CAPITAL LETTER C -0063 030C; 0063 # č → c LATIN SMALL LETTER C, COMBINING CARON → LATIN SMALL LETTER C -0044 030C; 0044 # Ď → D LATIN CAPITAL LETTER D, COMBINING CARON → LATIN CAPITAL LETTER D -0064 030C; 0064 # ď → d LATIN SMALL LETTER D, COMBINING CARON → LATIN SMALL LETTER D -0045 0304; 0045 # Ē → E LATIN CAPITAL LETTER E, COMBINING MACRON → LATIN CAPITAL LETTER E -0065 0304; 0065 # ē → e LATIN SMALL LETTER E, COMBINING MACRON → LATIN SMALL LETTER E -0045 0306; 0045 # Ĕ → E LATIN CAPITAL LETTER E, COMBINING BREVE → LATIN CAPITAL LETTER E -0065 0306; 0065 # ĕ → e LATIN SMALL LETTER E, COMBINING BREVE → LATIN SMALL LETTER E -0045 0307; 0045 # Ė → E LATIN CAPITAL LETTER E, COMBINING DOT ABOVE → LATIN CAPITAL LETTER E -0065 0307; 0065 # ė → e LATIN SMALL LETTER E, COMBINING DOT ABOVE → LATIN SMALL LETTER E -0045 0328; 0045 # Ę → E LATIN CAPITAL LETTER E, COMBINING OGONEK → LATIN CAPITAL LETTER E -0065 0328; 0065 # ę → e LATIN SMALL LETTER E, COMBINING OGONEK → LATIN SMALL LETTER E -0045 030C; 0045 # Ě → E LATIN CAPITAL LETTER E, COMBINING CARON → LATIN CAPITAL LETTER E -0065 030C; 0065 # ě → e LATIN SMALL LETTER E, COMBINING CARON → LATIN SMALL LETTER E -0047 0302; 0047 # Ĝ → G LATIN CAPITAL LETTER G, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER G -0067 0302; 0067 # ĝ → g LATIN SMALL LETTER G, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER G -0047 0306; 0047 # Ğ → G LATIN CAPITAL LETTER G, COMBINING BREVE → LATIN CAPITAL LETTER G -0067 0306; 0067 # ğ → g LATIN SMALL LETTER G, COMBINING BREVE → LATIN SMALL LETTER G -0047 0307; 0047 # Ġ → G LATIN CAPITAL LETTER G, COMBINING DOT ABOVE → LATIN CAPITAL LETTER G -0067 0307; 0067 # ġ → g LATIN SMALL LETTER G, COMBINING DOT ABOVE → LATIN SMALL LETTER G -0047 0327; 0047 # Ģ → G LATIN CAPITAL LETTER G, COMBINING CEDILLA → LATIN CAPITAL LETTER G -0067 0327; 0067 # ģ → g LATIN SMALL LETTER G, COMBINING CEDILLA → LATIN SMALL LETTER G -0048 0302; 0048 # Ĥ → H LATIN CAPITAL LETTER H, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER H -0068 0302; 0068 # ĥ → h LATIN SMALL LETTER H, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER H -0049 0303; 0049 # Ĩ → I LATIN CAPITAL LETTER I, COMBINING TILDE → LATIN CAPITAL LETTER I -0069 0303; 0069 # ĩ → i LATIN SMALL LETTER I, COMBINING TILDE → LATIN SMALL LETTER I -0049 0304; 0049 # Ī → I LATIN CAPITAL LETTER I, COMBINING MACRON → LATIN CAPITAL LETTER I -0069 0304; 0069 # ī → i LATIN SMALL LETTER I, COMBINING MACRON → LATIN SMALL LETTER I -0049 0306; 0049 # Ĭ → I LATIN CAPITAL LETTER I, COMBINING BREVE → LATIN CAPITAL LETTER I -0069 0306; 0069 # ĭ → i LATIN SMALL LETTER I, COMBINING BREVE → LATIN SMALL LETTER I -0049 0328; 0049 # Į → I LATIN CAPITAL LETTER I, COMBINING OGONEK → LATIN CAPITAL LETTER I -0069 0328; 0069 # į → i LATIN SMALL LETTER I, COMBINING OGONEK → LATIN SMALL LETTER I -0049 0307; 0049 # İ → I LATIN CAPITAL LETTER I, COMBINING DOT ABOVE → LATIN CAPITAL LETTER I -004A 0302; 004A # Ĵ → J LATIN CAPITAL LETTER J, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER J -006A 0302; 006A # ĵ → j LATIN SMALL LETTER J, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER J -004B 0327; 004B # Ķ → K LATIN CAPITAL LETTER K, COMBINING CEDILLA → LATIN CAPITAL LETTER K -006B 0327; 006B # ķ → k LATIN SMALL LETTER K, COMBINING CEDILLA → LATIN SMALL LETTER K -004C 0301; 004C # Ĺ → L LATIN CAPITAL LETTER L, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER L -006C 0301; 006C # ĺ → l LATIN SMALL LETTER L, COMBINING ACUTE ACCENT → LATIN SMALL LETTER L -004C 0327; 004C # Ļ → L LATIN CAPITAL LETTER L, COMBINING CEDILLA → LATIN CAPITAL LETTER L -006C 0327; 006C # ļ → l LATIN SMALL LETTER L, COMBINING CEDILLA → LATIN SMALL LETTER L -004C 030C; 004C # Ľ → L LATIN CAPITAL LETTER L, COMBINING CARON → LATIN CAPITAL LETTER L -006C 030C; 006C # ľ → l LATIN SMALL LETTER L, COMBINING CARON → LATIN SMALL LETTER L -004E 0301; 004E # Ń → N LATIN CAPITAL LETTER N, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER N -006E 0301; 006E # ń → n LATIN SMALL LETTER N, COMBINING ACUTE ACCENT → LATIN SMALL LETTER N -004E 0327; 004E # Ņ → N LATIN CAPITAL LETTER N, COMBINING CEDILLA → LATIN CAPITAL LETTER N -006E 0327; 006E # ņ → n LATIN SMALL LETTER N, COMBINING CEDILLA → LATIN SMALL LETTER N -004E 030C; 004E # Ň → N LATIN CAPITAL LETTER N, COMBINING CARON → LATIN CAPITAL LETTER N -006E 030C; 006E # ň → n LATIN SMALL LETTER N, COMBINING CARON → LATIN SMALL LETTER N -004F 0304; 004F # Ō → O LATIN CAPITAL LETTER O, COMBINING MACRON → LATIN CAPITAL LETTER O -006F 0304; 006F # ō → o LATIN SMALL LETTER O, COMBINING MACRON → LATIN SMALL LETTER O -004F 0306; 004F # Ŏ → O LATIN CAPITAL LETTER O, COMBINING BREVE → LATIN CAPITAL LETTER O -006F 0306; 006F # ŏ → o LATIN SMALL LETTER O, COMBINING BREVE → LATIN SMALL LETTER O -004F 030B; 004F # Ő → O LATIN CAPITAL LETTER O, COMBINING DOUBLE ACUTE ACCENT → LATIN CAPITAL LETTER O -006F 030B; 006F # ő → o LATIN SMALL LETTER O, COMBINING DOUBLE ACUTE ACCENT → LATIN SMALL LETTER O -0052 0301; 0052 # Ŕ → R LATIN CAPITAL LETTER R, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER R -0072 0301; 0072 # ŕ → r LATIN SMALL LETTER R, COMBINING ACUTE ACCENT → LATIN SMALL LETTER R -0052 0327; 0052 # Ŗ → R LATIN CAPITAL LETTER R, COMBINING CEDILLA → LATIN CAPITAL LETTER R -0072 0327; 0072 # ŗ → r LATIN SMALL LETTER R, COMBINING CEDILLA → LATIN SMALL LETTER R -0052 030C; 0052 # Ř → R LATIN CAPITAL LETTER R, COMBINING CARON → LATIN CAPITAL LETTER R -0072 030C; 0072 # ř → r LATIN SMALL LETTER R, COMBINING CARON → LATIN SMALL LETTER R -0053 0301; 0053 # Ś → S LATIN CAPITAL LETTER S, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER S -0073 0301; 0073 # ś → s LATIN SMALL LETTER S, COMBINING ACUTE ACCENT → LATIN SMALL LETTER S -0053 0302; 0053 # Ŝ → S LATIN CAPITAL LETTER S, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER S -0073 0302; 0073 # ŝ → s LATIN SMALL LETTER S, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER S -0053 0327; 0053 # Ş → S LATIN CAPITAL LETTER S, COMBINING CEDILLA → LATIN CAPITAL LETTER S -0073 0327; 0073 # ş → s LATIN SMALL LETTER S, COMBINING CEDILLA → LATIN SMALL LETTER S -0053 030C; 0053 # Š → S LATIN CAPITAL LETTER S, COMBINING CARON → LATIN CAPITAL LETTER S -0073 030C; 0073 # š → s LATIN SMALL LETTER S, COMBINING CARON → LATIN SMALL LETTER S -0054 0327; 0054 # Ţ → T LATIN CAPITAL LETTER T, COMBINING CEDILLA → LATIN CAPITAL LETTER T -0074 0327; 0074 # ţ → t LATIN SMALL LETTER T, COMBINING CEDILLA → LATIN SMALL LETTER T -0054 030C; 0054 # Ť → T LATIN CAPITAL LETTER T, COMBINING CARON → LATIN CAPITAL LETTER T -0074 030C; 0074 # ť → t LATIN SMALL LETTER T, COMBINING CARON → LATIN SMALL LETTER T -0055 0303; 0055 # Ũ → U LATIN CAPITAL LETTER U, COMBINING TILDE → LATIN CAPITAL LETTER U -0075 0303; 0075 # ũ → u LATIN SMALL LETTER U, COMBINING TILDE → LATIN SMALL LETTER U -0055 0304; 0055 # Ū → U LATIN CAPITAL LETTER U, COMBINING MACRON → LATIN CAPITAL LETTER U -0075 0304; 0075 # ū → u LATIN SMALL LETTER U, COMBINING MACRON → LATIN SMALL LETTER U -0055 0306; 0055 # Ŭ → U LATIN CAPITAL LETTER U, COMBINING BREVE → LATIN CAPITAL LETTER U -0075 0306; 0075 # ŭ → u LATIN SMALL LETTER U, COMBINING BREVE → LATIN SMALL LETTER U -0055 030A; 0055 # Ů → U LATIN CAPITAL LETTER U, COMBINING RING ABOVE → LATIN CAPITAL LETTER U -0075 030A; 0075 # ů → u LATIN SMALL LETTER U, COMBINING RING ABOVE → LATIN SMALL LETTER U -0055 030B; 0055 # Ű → U LATIN CAPITAL LETTER U, COMBINING DOUBLE ACUTE ACCENT → LATIN CAPITAL LETTER U -0075 030B; 0075 # ű → u LATIN SMALL LETTER U, COMBINING DOUBLE ACUTE ACCENT → LATIN SMALL LETTER U -0055 0328; 0055 # Ų → U LATIN CAPITAL LETTER U, COMBINING OGONEK → LATIN CAPITAL LETTER U -0075 0328; 0075 # ų → u LATIN SMALL LETTER U, COMBINING OGONEK → LATIN SMALL LETTER U -0057 0302; 0057 # Ŵ → W LATIN CAPITAL LETTER W, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER W -0077 0302; 0077 # ŵ → w LATIN SMALL LETTER W, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER W -0059 0302; 0059 # Ŷ → Y LATIN CAPITAL LETTER Y, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER Y -0079 0302; 0079 # ŷ → y LATIN SMALL LETTER Y, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER Y -0059 0308; 0059 # Ÿ → Y LATIN CAPITAL LETTER Y, COMBINING DIAERESIS → LATIN CAPITAL LETTER Y -005A 0301; 005A # Ź → Z LATIN CAPITAL LETTER Z, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER Z -007A 0301; 007A # ź → z LATIN SMALL LETTER Z, COMBINING ACUTE ACCENT → LATIN SMALL LETTER Z -005A 0307; 005A # Ż → Z LATIN CAPITAL LETTER Z, COMBINING DOT ABOVE → LATIN CAPITAL LETTER Z -007A 0307; 007A # ż → z LATIN SMALL LETTER Z, COMBINING DOT ABOVE → LATIN SMALL LETTER Z -005A 030C; 005A # Ž → Z LATIN CAPITAL LETTER Z, COMBINING CARON → LATIN CAPITAL LETTER Z -007A 030C; 007A # ž → z LATIN SMALL LETTER Z, COMBINING CARON → LATIN SMALL LETTER Z -004F 031B; 004F # Ơ → O LATIN CAPITAL LETTER O, COMBINING HORN → LATIN CAPITAL LETTER O -006F 031B; 006F # ơ → o LATIN SMALL LETTER O, COMBINING HORN → LATIN SMALL LETTER O -0055 031B; 0055 # Ư → U LATIN CAPITAL LETTER U, COMBINING HORN → LATIN CAPITAL LETTER U -0075 031B; 0075 # ư → u LATIN SMALL LETTER U, COMBINING HORN → LATIN SMALL LETTER U -0041 030C; 0041 # Ǎ → A LATIN CAPITAL LETTER A, COMBINING CARON → LATIN CAPITAL LETTER A -0061 030C; 0061 # ǎ → a LATIN SMALL LETTER A, COMBINING CARON → LATIN SMALL LETTER A -0049 030C; 0049 # Ǐ → I LATIN CAPITAL LETTER I, COMBINING CARON → LATIN CAPITAL LETTER I -0069 030C; 0069 # ǐ → i LATIN SMALL LETTER I, COMBINING CARON → LATIN SMALL LETTER I -004F 030C; 004F # Ǒ → O LATIN CAPITAL LETTER O, COMBINING CARON → LATIN CAPITAL LETTER O -006F 030C; 006F # ǒ → o LATIN SMALL LETTER O, COMBINING CARON → LATIN SMALL LETTER O -0055 030C; 0055 # Ǔ → U LATIN CAPITAL LETTER U, COMBINING CARON → LATIN CAPITAL LETTER U -0075 030C; 0075 # ǔ → u LATIN SMALL LETTER U, COMBINING CARON → LATIN SMALL LETTER U -00C6 0304; 00C6 # Ǣ → Æ LATIN CAPITAL LETTER AE, COMBINING MACRON → LATIN CAPITAL LETTER AE -00E6 0304; 00E6 # ǣ → æ LATIN SMALL LETTER AE, COMBINING MACRON → LATIN SMALL LETTER AE -0047 030C; 0047 # Ǧ → G LATIN CAPITAL LETTER G, COMBINING CARON → LATIN CAPITAL LETTER G -0067 030C; 0067 # ǧ → g LATIN SMALL LETTER G, COMBINING CARON → LATIN SMALL LETTER G -004B 030C; 004B # Ǩ → K LATIN CAPITAL LETTER K, COMBINING CARON → LATIN CAPITAL LETTER K -006B 030C; 006B # ǩ → k LATIN SMALL LETTER K, COMBINING CARON → LATIN SMALL LETTER K -004F 0328; 004F # Ǫ → O LATIN CAPITAL LETTER O, COMBINING OGONEK → LATIN CAPITAL LETTER O -006F 0328; 006F # ǫ → o LATIN SMALL LETTER O, COMBINING OGONEK → LATIN SMALL LETTER O -01B7 030C; 01B7 # Ǯ → Ʒ LATIN CAPITAL LETTER EZH, COMBINING CARON → LATIN CAPITAL LETTER EZH -0292 030C; 0292 # ǯ → ʒ LATIN SMALL LETTER EZH, COMBINING CARON → LATIN SMALL LETTER EZH -006A 030C; 006A # ǰ → j LATIN SMALL LETTER J, COMBINING CARON → LATIN SMALL LETTER J -0047 0301; 0047 # Ǵ → G LATIN CAPITAL LETTER G, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER G -0067 0301; 0067 # ǵ → g LATIN SMALL LETTER G, COMBINING ACUTE ACCENT → LATIN SMALL LETTER G -004E 0300; 004E # Ǹ → N LATIN CAPITAL LETTER N, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER N -006E 0300; 006E # ǹ → n LATIN SMALL LETTER N, COMBINING GRAVE ACCENT → LATIN SMALL LETTER N -00C6 0301; 00C6 # Ǽ → Æ LATIN CAPITAL LETTER AE, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER AE -00E6 0301; 00E6 # ǽ → æ LATIN SMALL LETTER AE, COMBINING ACUTE ACCENT → LATIN SMALL LETTER AE -00D8 0301; 00D8 # Ǿ → Ø LATIN CAPITAL LETTER O WITH STROKE, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER O WITH STROKE -00F8 0301; 00F8 # ǿ → ø LATIN SMALL LETTER O WITH STROKE, COMBINING ACUTE ACCENT → LATIN SMALL LETTER O WITH STROKE -0041 030F; 0041 # Ȁ → A LATIN CAPITAL LETTER A, COMBINING DOUBLE GRAVE ACCENT → LATIN CAPITAL LETTER A -0061 030F; 0061 # ȁ → a LATIN SMALL LETTER A, COMBINING DOUBLE GRAVE ACCENT → LATIN SMALL LETTER A -0041 0311; 0041 # Ȃ → A LATIN CAPITAL LETTER A, COMBINING INVERTED BREVE → LATIN CAPITAL LETTER A -0061 0311; 0061 # ȃ → a LATIN SMALL LETTER A, COMBINING INVERTED BREVE → LATIN SMALL LETTER A -0045 030F; 0045 # Ȅ → E LATIN CAPITAL LETTER E, COMBINING DOUBLE GRAVE ACCENT → LATIN CAPITAL LETTER E -0065 030F; 0065 # ȅ → e LATIN SMALL LETTER E, COMBINING DOUBLE GRAVE ACCENT → LATIN SMALL LETTER E -0045 0311; 0045 # Ȇ → E LATIN CAPITAL LETTER E, COMBINING INVERTED BREVE → LATIN CAPITAL LETTER E -0065 0311; 0065 # ȇ → e LATIN SMALL LETTER E, COMBINING INVERTED BREVE → LATIN SMALL LETTER E -0049 030F; 0049 # Ȉ → I LATIN CAPITAL LETTER I, COMBINING DOUBLE GRAVE ACCENT → LATIN CAPITAL LETTER I -0069 030F; 0069 # ȉ → i LATIN SMALL LETTER I, COMBINING DOUBLE GRAVE ACCENT → LATIN SMALL LETTER I -0049 0311; 0049 # Ȋ → I LATIN CAPITAL LETTER I, COMBINING INVERTED BREVE → LATIN CAPITAL LETTER I -0069 0311; 0069 # ȋ → i LATIN SMALL LETTER I, COMBINING INVERTED BREVE → LATIN SMALL LETTER I -004F 030F; 004F # Ȍ → O LATIN CAPITAL LETTER O, COMBINING DOUBLE GRAVE ACCENT → LATIN CAPITAL LETTER O -006F 030F; 006F # ȍ → o LATIN SMALL LETTER O, COMBINING DOUBLE GRAVE ACCENT → LATIN SMALL LETTER O -004F 0311; 004F # Ȏ → O LATIN CAPITAL LETTER O, COMBINING INVERTED BREVE → LATIN CAPITAL LETTER O -006F 0311; 006F # ȏ → o LATIN SMALL LETTER O, COMBINING INVERTED BREVE → LATIN SMALL LETTER O -0052 030F; 0052 # Ȑ → R LATIN CAPITAL LETTER R, COMBINING DOUBLE GRAVE ACCENT → LATIN CAPITAL LETTER R -0072 030F; 0072 # ȑ → r LATIN SMALL LETTER R, COMBINING DOUBLE GRAVE ACCENT → LATIN SMALL LETTER R -0052 0311; 0052 # Ȓ → R LATIN CAPITAL LETTER R, COMBINING INVERTED BREVE → LATIN CAPITAL LETTER R -0072 0311; 0072 # ȓ → r LATIN SMALL LETTER R, COMBINING INVERTED BREVE → LATIN SMALL LETTER R -0055 030F; 0055 # Ȕ → U LATIN CAPITAL LETTER U, COMBINING DOUBLE GRAVE ACCENT → LATIN CAPITAL LETTER U -0075 030F; 0075 # ȕ → u LATIN SMALL LETTER U, COMBINING DOUBLE GRAVE ACCENT → LATIN SMALL LETTER U -0055 0311; 0055 # Ȗ → U LATIN CAPITAL LETTER U, COMBINING INVERTED BREVE → LATIN CAPITAL LETTER U -0075 0311; 0075 # ȗ → u LATIN SMALL LETTER U, COMBINING INVERTED BREVE → LATIN SMALL LETTER U -0053 0326; 0053 # Ș → S LATIN CAPITAL LETTER S, COMBINING COMMA BELOW → LATIN CAPITAL LETTER S -0073 0326; 0073 # ș → s LATIN SMALL LETTER S, COMBINING COMMA BELOW → LATIN SMALL LETTER S -0054 0326; 0054 # Ț → T LATIN CAPITAL LETTER T, COMBINING COMMA BELOW → LATIN CAPITAL LETTER T -0074 0326; 0074 # ț → t LATIN SMALL LETTER T, COMBINING COMMA BELOW → LATIN SMALL LETTER T -0048 030C; 0048 # Ȟ → H LATIN CAPITAL LETTER H, COMBINING CARON → LATIN CAPITAL LETTER H -0068 030C; 0068 # ȟ → h LATIN SMALL LETTER H, COMBINING CARON → LATIN SMALL LETTER H -0041 0307; 0041 # Ȧ → A LATIN CAPITAL LETTER A, COMBINING DOT ABOVE → LATIN CAPITAL LETTER A -0061 0307; 0061 # ȧ → a LATIN SMALL LETTER A, COMBINING DOT ABOVE → LATIN SMALL LETTER A -0045 0327; 0045 # Ȩ → E LATIN CAPITAL LETTER E, COMBINING CEDILLA → LATIN CAPITAL LETTER E -0065 0327; 0065 # ȩ → e LATIN SMALL LETTER E, COMBINING CEDILLA → LATIN SMALL LETTER E -004F 0307; 004F # Ȯ → O LATIN CAPITAL LETTER O, COMBINING DOT ABOVE → LATIN CAPITAL LETTER O -006F 0307; 006F # ȯ → o LATIN SMALL LETTER O, COMBINING DOT ABOVE → LATIN SMALL LETTER O -0059 0304; 0059 # Ȳ → Y LATIN CAPITAL LETTER Y, COMBINING MACRON → LATIN CAPITAL LETTER Y -0079 0304; 0079 # ȳ → y LATIN SMALL LETTER Y, COMBINING MACRON → LATIN SMALL LETTER Y -0391 0301; 0391 # Ά → Α GREEK CAPITAL LETTER ALPHA, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER ALPHA -0395 0301; 0395 # Έ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER EPSILON -0397 0301; 0397 # Ή → Η GREEK CAPITAL LETTER ETA, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER ETA -0399 0301; 0399 # Ί → Ι GREEK CAPITAL LETTER IOTA, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER IOTA -039F 0301; 039F # Ό → Ο GREEK CAPITAL LETTER OMICRON, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER OMICRON -03A5 0301; 03A5 # Ύ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER UPSILON -03A9 0301; 03A9 # Ώ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER OMEGA -0399 0308; 0399 # Ϊ → Ι GREEK CAPITAL LETTER IOTA, COMBINING DIAERESIS → GREEK CAPITAL LETTER IOTA -03A5 0308; 03A5 # Ϋ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING DIAERESIS → GREEK CAPITAL LETTER UPSILON -03B1 0301; 03B1 # ά → α GREEK SMALL LETTER ALPHA, COMBINING ACUTE ACCENT → GREEK SMALL LETTER ALPHA -03B5 0301; 03B5 # έ → ε GREEK SMALL LETTER EPSILON, COMBINING ACUTE ACCENT → GREEK SMALL LETTER EPSILON -03B7 0301; 03B7 # ή → η GREEK SMALL LETTER ETA, COMBINING ACUTE ACCENT → GREEK SMALL LETTER ETA -03B9 0301; 03B9 # ί → ι GREEK SMALL LETTER IOTA, COMBINING ACUTE ACCENT → GREEK SMALL LETTER IOTA -03B9 0308; 03B9 # ϊ → ι GREEK SMALL LETTER IOTA, COMBINING DIAERESIS → GREEK SMALL LETTER IOTA -03C5 0308; 03C5 # ϋ → υ GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS → GREEK SMALL LETTER UPSILON -03BF 0301; 03BF # ό → ο GREEK SMALL LETTER OMICRON, COMBINING ACUTE ACCENT → GREEK SMALL LETTER OMICRON -03C5 0301; 03C5 # ύ → υ GREEK SMALL LETTER UPSILON, COMBINING ACUTE ACCENT → GREEK SMALL LETTER UPSILON -03C9 0301; 03C9 # ώ → ω GREEK SMALL LETTER OMEGA, COMBINING ACUTE ACCENT → GREEK SMALL LETTER OMEGA -03D2 0301; 03D2 # ϓ → ϒ GREEK UPSILON WITH HOOK SYMBOL, COMBINING ACUTE ACCENT → GREEK UPSILON WITH HOOK SYMBOL -03D2 0308; 03D2 # ϔ → ϒ GREEK UPSILON WITH HOOK SYMBOL, COMBINING DIAERESIS → GREEK UPSILON WITH HOOK SYMBOL -0415 0300; 0415 # Ѐ → Е CYRILLIC CAPITAL LETTER IE, COMBINING GRAVE ACCENT → CYRILLIC CAPITAL LETTER IE -0418 0300; 0418 # Ѝ → И CYRILLIC CAPITAL LETTER I, COMBINING GRAVE ACCENT → CYRILLIC CAPITAL LETTER I -0435 0300; 0435 # ѐ → е CYRILLIC SMALL LETTER IE, COMBINING GRAVE ACCENT → CYRILLIC SMALL LETTER IE -0438 0300; 0438 # ѝ → и CYRILLIC SMALL LETTER I, COMBINING GRAVE ACCENT → CYRILLIC SMALL LETTER I -0474 030F; 0474 # Ѷ → Ѵ CYRILLIC CAPITAL LETTER IZHITSA, COMBINING DOUBLE GRAVE ACCENT → CYRILLIC CAPITAL LETTER IZHITSA -0475 030F; 0475 # ѷ → ѵ CYRILLIC SMALL LETTER IZHITSA, COMBINING DOUBLE GRAVE ACCENT → CYRILLIC SMALL LETTER IZHITSA -0416 0306; 0416 # Ӂ → Ж CYRILLIC CAPITAL LETTER ZHE, COMBINING BREVE → CYRILLIC CAPITAL LETTER ZHE -0436 0306; 0436 # ӂ → ж CYRILLIC SMALL LETTER ZHE, COMBINING BREVE → CYRILLIC SMALL LETTER ZHE -0410 0306; 0410 # Ӑ → А CYRILLIC CAPITAL LETTER A, COMBINING BREVE → CYRILLIC CAPITAL LETTER A -0430 0306; 0430 # ӑ → а CYRILLIC SMALL LETTER A, COMBINING BREVE → CYRILLIC SMALL LETTER A -0410 0308; 0410 # Ӓ → А CYRILLIC CAPITAL LETTER A, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER A -0430 0308; 0430 # ӓ → а CYRILLIC SMALL LETTER A, COMBINING DIAERESIS → CYRILLIC SMALL LETTER A -0415 0306; 0415 # Ӗ → Е CYRILLIC CAPITAL LETTER IE, COMBINING BREVE → CYRILLIC CAPITAL LETTER IE -0435 0306; 0435 # ӗ → е CYRILLIC SMALL LETTER IE, COMBINING BREVE → CYRILLIC SMALL LETTER IE -04D8 0308; 04D8 # Ӛ → Ә CYRILLIC CAPITAL LETTER SCHWA, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER SCHWA -04D9 0308; 04D9 # ӛ → ә CYRILLIC SMALL LETTER SCHWA, COMBINING DIAERESIS → CYRILLIC SMALL LETTER SCHWA -0416 0308; 0416 # Ӝ → Ж CYRILLIC CAPITAL LETTER ZHE, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER ZHE -0436 0308; 0436 # ӝ → ж CYRILLIC SMALL LETTER ZHE, COMBINING DIAERESIS → CYRILLIC SMALL LETTER ZHE -0417 0308; 0417 # Ӟ → З CYRILLIC CAPITAL LETTER ZE, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER ZE -0437 0308; 0437 # ӟ → з CYRILLIC SMALL LETTER ZE, COMBINING DIAERESIS → CYRILLIC SMALL LETTER ZE -0418 0304; 0418 # Ӣ → И CYRILLIC CAPITAL LETTER I, COMBINING MACRON → CYRILLIC CAPITAL LETTER I -0438 0304; 0438 # ӣ → и CYRILLIC SMALL LETTER I, COMBINING MACRON → CYRILLIC SMALL LETTER I -0418 0308; 0418 # Ӥ → И CYRILLIC CAPITAL LETTER I, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER I -0438 0308; 0438 # ӥ → и CYRILLIC SMALL LETTER I, COMBINING DIAERESIS → CYRILLIC SMALL LETTER I -041E 0308; 041E # Ӧ → О CYRILLIC CAPITAL LETTER O, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER O -043E 0308; 043E # ӧ → о CYRILLIC SMALL LETTER O, COMBINING DIAERESIS → CYRILLIC SMALL LETTER O -04E8 0308; 04E8 # Ӫ → Ө CYRILLIC CAPITAL LETTER BARRED O, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER BARRED O -04E9 0308; 04E9 # ӫ → ө CYRILLIC SMALL LETTER BARRED O, COMBINING DIAERESIS → CYRILLIC SMALL LETTER BARRED O -042D 0308; 042D # Ӭ → Э CYRILLIC CAPITAL LETTER E, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER E -044D 0308; 044D # ӭ → э CYRILLIC SMALL LETTER E, COMBINING DIAERESIS → CYRILLIC SMALL LETTER E -0423 0304; 0423 # Ӯ → У CYRILLIC CAPITAL LETTER U, COMBINING MACRON → CYRILLIC CAPITAL LETTER U -0443 0304; 0443 # ӯ → у CYRILLIC SMALL LETTER U, COMBINING MACRON → CYRILLIC SMALL LETTER U -0423 0308; 0423 # Ӱ → У CYRILLIC CAPITAL LETTER U, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER U -0443 0308; 0443 # ӱ → у CYRILLIC SMALL LETTER U, COMBINING DIAERESIS → CYRILLIC SMALL LETTER U -0423 030B; 0423 # Ӳ → У CYRILLIC CAPITAL LETTER U, COMBINING DOUBLE ACUTE ACCENT → CYRILLIC CAPITAL LETTER U -0443 030B; 0443 # ӳ → у CYRILLIC SMALL LETTER U, COMBINING DOUBLE ACUTE ACCENT → CYRILLIC SMALL LETTER U -0427 0308; 0427 # Ӵ → Ч CYRILLIC CAPITAL LETTER CHE, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER CHE -0447 0308; 0447 # ӵ → ч CYRILLIC SMALL LETTER CHE, COMBINING DIAERESIS → CYRILLIC SMALL LETTER CHE -042B 0308; 042B # Ӹ → Ы CYRILLIC CAPITAL LETTER YERU, COMBINING DIAERESIS → CYRILLIC CAPITAL LETTER YERU -044B 0308; 044B # ӹ → ы CYRILLIC SMALL LETTER YERU, COMBINING DIAERESIS → CYRILLIC SMALL LETTER YERU -0041 0325; 0041 # Ḁ → A LATIN CAPITAL LETTER A, COMBINING RING BELOW → LATIN CAPITAL LETTER A -0061 0325; 0061 # ḁ → a LATIN SMALL LETTER A, COMBINING RING BELOW → LATIN SMALL LETTER A -0042 0307; 0042 # Ḃ → B LATIN CAPITAL LETTER B, COMBINING DOT ABOVE → LATIN CAPITAL LETTER B -0062 0307; 0062 # ḃ → b LATIN SMALL LETTER B, COMBINING DOT ABOVE → LATIN SMALL LETTER B -0042 0323; 0042 # Ḅ → B LATIN CAPITAL LETTER B, COMBINING DOT BELOW → LATIN CAPITAL LETTER B -0062 0323; 0062 # ḅ → b LATIN SMALL LETTER B, COMBINING DOT BELOW → LATIN SMALL LETTER B -0042 0331; 0042 # Ḇ → B LATIN CAPITAL LETTER B, COMBINING MACRON BELOW → LATIN CAPITAL LETTER B -0062 0331; 0062 # ḇ → b LATIN SMALL LETTER B, COMBINING MACRON BELOW → LATIN SMALL LETTER B -0044 0307; 0044 # Ḋ → D LATIN CAPITAL LETTER D, COMBINING DOT ABOVE → LATIN CAPITAL LETTER D -0064 0307; 0064 # ḋ → d LATIN SMALL LETTER D, COMBINING DOT ABOVE → LATIN SMALL LETTER D -0044 0323; 0044 # Ḍ → D LATIN CAPITAL LETTER D, COMBINING DOT BELOW → LATIN CAPITAL LETTER D -0064 0323; 0064 # ḍ → d LATIN SMALL LETTER D, COMBINING DOT BELOW → LATIN SMALL LETTER D -0044 0331; 0044 # Ḏ → D LATIN CAPITAL LETTER D, COMBINING MACRON BELOW → LATIN CAPITAL LETTER D -0064 0331; 0064 # ḏ → d LATIN SMALL LETTER D, COMBINING MACRON BELOW → LATIN SMALL LETTER D -0044 0327; 0044 # Ḑ → D LATIN CAPITAL LETTER D, COMBINING CEDILLA → LATIN CAPITAL LETTER D -0064 0327; 0064 # ḑ → d LATIN SMALL LETTER D, COMBINING CEDILLA → LATIN SMALL LETTER D -0044 032D; 0044 # Ḓ → D LATIN CAPITAL LETTER D, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN CAPITAL LETTER D -0064 032D; 0064 # ḓ → d LATIN SMALL LETTER D, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN SMALL LETTER D -0045 032D; 0045 # Ḙ → E LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN CAPITAL LETTER E -0065 032D; 0065 # ḙ → e LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN SMALL LETTER E -0045 0330; 0045 # Ḛ → E LATIN CAPITAL LETTER E, COMBINING TILDE BELOW → LATIN CAPITAL LETTER E -0065 0330; 0065 # ḛ → e LATIN SMALL LETTER E, COMBINING TILDE BELOW → LATIN SMALL LETTER E -0046 0307; 0046 # Ḟ → F LATIN CAPITAL LETTER F, COMBINING DOT ABOVE → LATIN CAPITAL LETTER F -0066 0307; 0066 # ḟ → f LATIN SMALL LETTER F, COMBINING DOT ABOVE → LATIN SMALL LETTER F -0047 0304; 0047 # Ḡ → G LATIN CAPITAL LETTER G, COMBINING MACRON → LATIN CAPITAL LETTER G -0067 0304; 0067 # ḡ → g LATIN SMALL LETTER G, COMBINING MACRON → LATIN SMALL LETTER G -0048 0307; 0048 # Ḣ → H LATIN CAPITAL LETTER H, COMBINING DOT ABOVE → LATIN CAPITAL LETTER H -0068 0307; 0068 # ḣ → h LATIN SMALL LETTER H, COMBINING DOT ABOVE → LATIN SMALL LETTER H -0048 0323; 0048 # Ḥ → H LATIN CAPITAL LETTER H, COMBINING DOT BELOW → LATIN CAPITAL LETTER H -0068 0323; 0068 # ḥ → h LATIN SMALL LETTER H, COMBINING DOT BELOW → LATIN SMALL LETTER H -0048 0308; 0048 # Ḧ → H LATIN CAPITAL LETTER H, COMBINING DIAERESIS → LATIN CAPITAL LETTER H -0068 0308; 0068 # ḧ → h LATIN SMALL LETTER H, COMBINING DIAERESIS → LATIN SMALL LETTER H -0048 0327; 0048 # Ḩ → H LATIN CAPITAL LETTER H, COMBINING CEDILLA → LATIN CAPITAL LETTER H -0068 0327; 0068 # ḩ → h LATIN SMALL LETTER H, COMBINING CEDILLA → LATIN SMALL LETTER H -0048 032E; 0048 # Ḫ → H LATIN CAPITAL LETTER H, COMBINING BREVE BELOW → LATIN CAPITAL LETTER H -0068 032E; 0068 # ḫ → h LATIN SMALL LETTER H, COMBINING BREVE BELOW → LATIN SMALL LETTER H -0049 0330; 0049 # Ḭ → I LATIN CAPITAL LETTER I, COMBINING TILDE BELOW → LATIN CAPITAL LETTER I -0069 0330; 0069 # ḭ → i LATIN SMALL LETTER I, COMBINING TILDE BELOW → LATIN SMALL LETTER I -004B 0301; 004B # Ḱ → K LATIN CAPITAL LETTER K, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER K -006B 0301; 006B # ḱ → k LATIN SMALL LETTER K, COMBINING ACUTE ACCENT → LATIN SMALL LETTER K -004B 0323; 004B # Ḳ → K LATIN CAPITAL LETTER K, COMBINING DOT BELOW → LATIN CAPITAL LETTER K -006B 0323; 006B # ḳ → k LATIN SMALL LETTER K, COMBINING DOT BELOW → LATIN SMALL LETTER K -004B 0331; 004B # Ḵ → K LATIN CAPITAL LETTER K, COMBINING MACRON BELOW → LATIN CAPITAL LETTER K -006B 0331; 006B # ḵ → k LATIN SMALL LETTER K, COMBINING MACRON BELOW → LATIN SMALL LETTER K -004C 0323; 004C # Ḷ → L LATIN CAPITAL LETTER L, COMBINING DOT BELOW → LATIN CAPITAL LETTER L -006C 0323; 006C # ḷ → l LATIN SMALL LETTER L, COMBINING DOT BELOW → LATIN SMALL LETTER L -004C 0331; 004C # Ḻ → L LATIN CAPITAL LETTER L, COMBINING MACRON BELOW → LATIN CAPITAL LETTER L -006C 0331; 006C # ḻ → l LATIN SMALL LETTER L, COMBINING MACRON BELOW → LATIN SMALL LETTER L -004C 032D; 004C # Ḽ → L LATIN CAPITAL LETTER L, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN CAPITAL LETTER L -006C 032D; 006C # ḽ → l LATIN SMALL LETTER L, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN SMALL LETTER L -004D 0301; 004D # Ḿ → M LATIN CAPITAL LETTER M, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER M -006D 0301; 006D # ḿ → m LATIN SMALL LETTER M, COMBINING ACUTE ACCENT → LATIN SMALL LETTER M -004D 0307; 004D # Ṁ → M LATIN CAPITAL LETTER M, COMBINING DOT ABOVE → LATIN CAPITAL LETTER M -006D 0307; 006D # ṁ → m LATIN SMALL LETTER M, COMBINING DOT ABOVE → LATIN SMALL LETTER M -004D 0323; 004D # Ṃ → M LATIN CAPITAL LETTER M, COMBINING DOT BELOW → LATIN CAPITAL LETTER M -006D 0323; 006D # ṃ → m LATIN SMALL LETTER M, COMBINING DOT BELOW → LATIN SMALL LETTER M -004E 0307; 004E # Ṅ → N LATIN CAPITAL LETTER N, COMBINING DOT ABOVE → LATIN CAPITAL LETTER N -006E 0307; 006E # ṅ → n LATIN SMALL LETTER N, COMBINING DOT ABOVE → LATIN SMALL LETTER N -004E 0323; 004E # Ṇ → N LATIN CAPITAL LETTER N, COMBINING DOT BELOW → LATIN CAPITAL LETTER N -006E 0323; 006E # ṇ → n LATIN SMALL LETTER N, COMBINING DOT BELOW → LATIN SMALL LETTER N -004E 0331; 004E # Ṉ → N LATIN CAPITAL LETTER N, COMBINING MACRON BELOW → LATIN CAPITAL LETTER N -006E 0331; 006E # ṉ → n LATIN SMALL LETTER N, COMBINING MACRON BELOW → LATIN SMALL LETTER N -004E 032D; 004E # Ṋ → N LATIN CAPITAL LETTER N, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN CAPITAL LETTER N -006E 032D; 006E # ṋ → n LATIN SMALL LETTER N, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN SMALL LETTER N -0050 0301; 0050 # Ṕ → P LATIN CAPITAL LETTER P, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER P -0070 0301; 0070 # ṕ → p LATIN SMALL LETTER P, COMBINING ACUTE ACCENT → LATIN SMALL LETTER P -0050 0307; 0050 # Ṗ → P LATIN CAPITAL LETTER P, COMBINING DOT ABOVE → LATIN CAPITAL LETTER P -0070 0307; 0070 # ṗ → p LATIN SMALL LETTER P, COMBINING DOT ABOVE → LATIN SMALL LETTER P -0052 0307; 0052 # Ṙ → R LATIN CAPITAL LETTER R, COMBINING DOT ABOVE → LATIN CAPITAL LETTER R -0072 0307; 0072 # ṙ → r LATIN SMALL LETTER R, COMBINING DOT ABOVE → LATIN SMALL LETTER R -0052 0323; 0052 # Ṛ → R LATIN CAPITAL LETTER R, COMBINING DOT BELOW → LATIN CAPITAL LETTER R -0072 0323; 0072 # ṛ → r LATIN SMALL LETTER R, COMBINING DOT BELOW → LATIN SMALL LETTER R -0052 0331; 0052 # Ṟ → R LATIN CAPITAL LETTER R, COMBINING MACRON BELOW → LATIN CAPITAL LETTER R -0072 0331; 0072 # ṟ → r LATIN SMALL LETTER R, COMBINING MACRON BELOW → LATIN SMALL LETTER R -0053 0307; 0053 # Ṡ → S LATIN CAPITAL LETTER S, COMBINING DOT ABOVE → LATIN CAPITAL LETTER S -0073 0307; 0073 # ṡ → s LATIN SMALL LETTER S, COMBINING DOT ABOVE → LATIN SMALL LETTER S -0053 0323; 0053 # Ṣ → S LATIN CAPITAL LETTER S, COMBINING DOT BELOW → LATIN CAPITAL LETTER S -0073 0323; 0073 # ṣ → s LATIN SMALL LETTER S, COMBINING DOT BELOW → LATIN SMALL LETTER S -0054 0307; 0054 # Ṫ → T LATIN CAPITAL LETTER T, COMBINING DOT ABOVE → LATIN CAPITAL LETTER T -0074 0307; 0074 # ṫ → t LATIN SMALL LETTER T, COMBINING DOT ABOVE → LATIN SMALL LETTER T -0054 0323; 0054 # Ṭ → T LATIN CAPITAL LETTER T, COMBINING DOT BELOW → LATIN CAPITAL LETTER T -0074 0323; 0074 # ṭ → t LATIN SMALL LETTER T, COMBINING DOT BELOW → LATIN SMALL LETTER T -0054 0331; 0054 # Ṯ → T LATIN CAPITAL LETTER T, COMBINING MACRON BELOW → LATIN CAPITAL LETTER T -0074 0331; 0074 # ṯ → t LATIN SMALL LETTER T, COMBINING MACRON BELOW → LATIN SMALL LETTER T -0054 032D; 0054 # Ṱ → T LATIN CAPITAL LETTER T, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN CAPITAL LETTER T -0074 032D; 0074 # ṱ → t LATIN SMALL LETTER T, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN SMALL LETTER T -0055 0324; 0055 # Ṳ → U LATIN CAPITAL LETTER U, COMBINING DIAERESIS BELOW → LATIN CAPITAL LETTER U -0075 0324; 0075 # ṳ → u LATIN SMALL LETTER U, COMBINING DIAERESIS BELOW → LATIN SMALL LETTER U -0055 0330; 0055 # Ṵ → U LATIN CAPITAL LETTER U, COMBINING TILDE BELOW → LATIN CAPITAL LETTER U -0075 0330; 0075 # ṵ → u LATIN SMALL LETTER U, COMBINING TILDE BELOW → LATIN SMALL LETTER U -0055 032D; 0055 # Ṷ → U LATIN CAPITAL LETTER U, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN CAPITAL LETTER U -0075 032D; 0075 # ṷ → u LATIN SMALL LETTER U, COMBINING CIRCUMFLEX ACCENT BELOW → LATIN SMALL LETTER U -0056 0303; 0056 # Ṽ → V LATIN CAPITAL LETTER V, COMBINING TILDE → LATIN CAPITAL LETTER V -0076 0303; 0076 # ṽ → v LATIN SMALL LETTER V, COMBINING TILDE → LATIN SMALL LETTER V -0056 0323; 0056 # Ṿ → V LATIN CAPITAL LETTER V, COMBINING DOT BELOW → LATIN CAPITAL LETTER V -0076 0323; 0076 # ṿ → v LATIN SMALL LETTER V, COMBINING DOT BELOW → LATIN SMALL LETTER V -0057 0300; 0057 # Ẁ → W LATIN CAPITAL LETTER W, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER W -0077 0300; 0077 # ẁ → w LATIN SMALL LETTER W, COMBINING GRAVE ACCENT → LATIN SMALL LETTER W -0057 0301; 0057 # Ẃ → W LATIN CAPITAL LETTER W, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER W -0077 0301; 0077 # ẃ → w LATIN SMALL LETTER W, COMBINING ACUTE ACCENT → LATIN SMALL LETTER W -0057 0308; 0057 # Ẅ → W LATIN CAPITAL LETTER W, COMBINING DIAERESIS → LATIN CAPITAL LETTER W -0077 0308; 0077 # ẅ → w LATIN SMALL LETTER W, COMBINING DIAERESIS → LATIN SMALL LETTER W -0057 0307; 0057 # Ẇ → W LATIN CAPITAL LETTER W, COMBINING DOT ABOVE → LATIN CAPITAL LETTER W -0077 0307; 0077 # ẇ → w LATIN SMALL LETTER W, COMBINING DOT ABOVE → LATIN SMALL LETTER W -0057 0323; 0057 # Ẉ → W LATIN CAPITAL LETTER W, COMBINING DOT BELOW → LATIN CAPITAL LETTER W -0077 0323; 0077 # ẉ → w LATIN SMALL LETTER W, COMBINING DOT BELOW → LATIN SMALL LETTER W -0058 0307; 0058 # Ẋ → X LATIN CAPITAL LETTER X, COMBINING DOT ABOVE → LATIN CAPITAL LETTER X -0078 0307; 0078 # ẋ → x LATIN SMALL LETTER X, COMBINING DOT ABOVE → LATIN SMALL LETTER X -0058 0308; 0058 # Ẍ → X LATIN CAPITAL LETTER X, COMBINING DIAERESIS → LATIN CAPITAL LETTER X -0078 0308; 0078 # ẍ → x LATIN SMALL LETTER X, COMBINING DIAERESIS → LATIN SMALL LETTER X -0059 0307; 0059 # Ẏ → Y LATIN CAPITAL LETTER Y, COMBINING DOT ABOVE → LATIN CAPITAL LETTER Y -0079 0307; 0079 # ẏ → y LATIN SMALL LETTER Y, COMBINING DOT ABOVE → LATIN SMALL LETTER Y -005A 0302; 005A # Ẑ → Z LATIN CAPITAL LETTER Z, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER Z -007A 0302; 007A # ẑ → z LATIN SMALL LETTER Z, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER Z -005A 0323; 005A # Ẓ → Z LATIN CAPITAL LETTER Z, COMBINING DOT BELOW → LATIN CAPITAL LETTER Z -007A 0323; 007A # ẓ → z LATIN SMALL LETTER Z, COMBINING DOT BELOW → LATIN SMALL LETTER Z -005A 0331; 005A # Ẕ → Z LATIN CAPITAL LETTER Z, COMBINING MACRON BELOW → LATIN CAPITAL LETTER Z -007A 0331; 007A # ẕ → z LATIN SMALL LETTER Z, COMBINING MACRON BELOW → LATIN SMALL LETTER Z -0068 0331; 0068 # ẖ → h LATIN SMALL LETTER H, COMBINING MACRON BELOW → LATIN SMALL LETTER H -0074 0308; 0074 # ẗ → t LATIN SMALL LETTER T, COMBINING DIAERESIS → LATIN SMALL LETTER T -0077 030A; 0077 # ẘ → w LATIN SMALL LETTER W, COMBINING RING ABOVE → LATIN SMALL LETTER W -0079 030A; 0079 # ẙ → y LATIN SMALL LETTER Y, COMBINING RING ABOVE → LATIN SMALL LETTER Y -017F 0307; 017F # ẛ → ſ LATIN SMALL LETTER LONG S, COMBINING DOT ABOVE → LATIN SMALL LETTER LONG S -0041 0323; 0041 # Ạ → A LATIN CAPITAL LETTER A, COMBINING DOT BELOW → LATIN CAPITAL LETTER A -0061 0323; 0061 # ạ → a LATIN SMALL LETTER A, COMBINING DOT BELOW → LATIN SMALL LETTER A -0041 0309; 0041 # Ả → A LATIN CAPITAL LETTER A, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER A -0061 0309; 0061 # ả → a LATIN SMALL LETTER A, COMBINING HOOK ABOVE → LATIN SMALL LETTER A -0045 0323; 0045 # Ẹ → E LATIN CAPITAL LETTER E, COMBINING DOT BELOW → LATIN CAPITAL LETTER E -0065 0323; 0065 # ẹ → e LATIN SMALL LETTER E, COMBINING DOT BELOW → LATIN SMALL LETTER E -0045 0309; 0045 # Ẻ → E LATIN CAPITAL LETTER E, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER E -0065 0309; 0065 # ẻ → e LATIN SMALL LETTER E, COMBINING HOOK ABOVE → LATIN SMALL LETTER E -0045 0303; 0045 # Ẽ → E LATIN CAPITAL LETTER E, COMBINING TILDE → LATIN CAPITAL LETTER E -0065 0303; 0065 # ẽ → e LATIN SMALL LETTER E, COMBINING TILDE → LATIN SMALL LETTER E -0049 0309; 0049 # Ỉ → I LATIN CAPITAL LETTER I, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER I -0069 0309; 0069 # ỉ → i LATIN SMALL LETTER I, COMBINING HOOK ABOVE → LATIN SMALL LETTER I -0049 0323; 0049 # Ị → I LATIN CAPITAL LETTER I, COMBINING DOT BELOW → LATIN CAPITAL LETTER I -0069 0323; 0069 # ị → i LATIN SMALL LETTER I, COMBINING DOT BELOW → LATIN SMALL LETTER I -004F 0323; 004F # Ọ → O LATIN CAPITAL LETTER O, COMBINING DOT BELOW → LATIN CAPITAL LETTER O -006F 0323; 006F # ọ → o LATIN SMALL LETTER O, COMBINING DOT BELOW → LATIN SMALL LETTER O -004F 0309; 004F # Ỏ → O LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER O -006F 0309; 006F # ỏ → o LATIN SMALL LETTER O, COMBINING HOOK ABOVE → LATIN SMALL LETTER O -0055 0323; 0055 # Ụ → U LATIN CAPITAL LETTER U, COMBINING DOT BELOW → LATIN CAPITAL LETTER U -0075 0323; 0075 # ụ → u LATIN SMALL LETTER U, COMBINING DOT BELOW → LATIN SMALL LETTER U -0055 0309; 0055 # Ủ → U LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER U -0075 0309; 0075 # ủ → u LATIN SMALL LETTER U, COMBINING HOOK ABOVE → LATIN SMALL LETTER U -0059 0300; 0059 # Ỳ → Y LATIN CAPITAL LETTER Y, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER Y -0079 0300; 0079 # ỳ → y LATIN SMALL LETTER Y, COMBINING GRAVE ACCENT → LATIN SMALL LETTER Y -0059 0323; 0059 # Ỵ → Y LATIN CAPITAL LETTER Y, COMBINING DOT BELOW → LATIN CAPITAL LETTER Y -0079 0323; 0079 # ỵ → y LATIN SMALL LETTER Y, COMBINING DOT BELOW → LATIN SMALL LETTER Y -0059 0309; 0059 # Ỷ → Y LATIN CAPITAL LETTER Y, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER Y -0079 0309; 0079 # ỷ → y LATIN SMALL LETTER Y, COMBINING HOOK ABOVE → LATIN SMALL LETTER Y -0059 0303; 0059 # Ỹ → Y LATIN CAPITAL LETTER Y, COMBINING TILDE → LATIN CAPITAL LETTER Y -0079 0303; 0079 # ỹ → y LATIN SMALL LETTER Y, COMBINING TILDE → LATIN SMALL LETTER Y -03B1 0313; 03B1 # ἀ → α GREEK SMALL LETTER ALPHA, COMBINING COMMA ABOVE → GREEK SMALL LETTER ALPHA -03B1 0314; 03B1 # ἁ → α GREEK SMALL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER ALPHA -0391 0313; 0391 # Ἀ → Α GREEK CAPITAL LETTER ALPHA, COMBINING COMMA ABOVE → GREEK CAPITAL LETTER ALPHA -0391 0314; 0391 # Ἁ → Α GREEK CAPITAL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER ALPHA -03B5 0313; 03B5 # ἐ → ε GREEK SMALL LETTER EPSILON, COMBINING COMMA ABOVE → GREEK SMALL LETTER EPSILON -03B5 0314; 03B5 # ἑ → ε GREEK SMALL LETTER EPSILON, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER EPSILON -0395 0313; 0395 # Ἐ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING COMMA ABOVE → GREEK CAPITAL LETTER EPSILON -0395 0314; 0395 # Ἑ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER EPSILON -03B7 0313; 03B7 # ἠ → η GREEK SMALL LETTER ETA, COMBINING COMMA ABOVE → GREEK SMALL LETTER ETA -03B7 0314; 03B7 # ἡ → η GREEK SMALL LETTER ETA, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER ETA -0397 0313; 0397 # Ἠ → Η GREEK CAPITAL LETTER ETA, COMBINING COMMA ABOVE → GREEK CAPITAL LETTER ETA -0397 0314; 0397 # Ἡ → Η GREEK CAPITAL LETTER ETA, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER ETA -03B9 0313; 03B9 # ἰ → ι GREEK SMALL LETTER IOTA, COMBINING COMMA ABOVE → GREEK SMALL LETTER IOTA -03B9 0314; 03B9 # ἱ → ι GREEK SMALL LETTER IOTA, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER IOTA -0399 0313; 0399 # Ἰ → Ι GREEK CAPITAL LETTER IOTA, COMBINING COMMA ABOVE → GREEK CAPITAL LETTER IOTA -0399 0314; 0399 # Ἱ → Ι GREEK CAPITAL LETTER IOTA, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER IOTA -03BF 0313; 03BF # ὀ → ο GREEK SMALL LETTER OMICRON, COMBINING COMMA ABOVE → GREEK SMALL LETTER OMICRON -03BF 0314; 03BF # ὁ → ο GREEK SMALL LETTER OMICRON, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER OMICRON -039F 0313; 039F # Ὀ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING COMMA ABOVE → GREEK CAPITAL LETTER OMICRON -039F 0314; 039F # Ὁ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER OMICRON -03C5 0313; 03C5 # ὐ → υ GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE → GREEK SMALL LETTER UPSILON -03C5 0314; 03C5 # ὑ → υ GREEK SMALL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER UPSILON -03A5 0314; 03A5 # Ὑ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER UPSILON -03C9 0313; 03C9 # ὠ → ω GREEK SMALL LETTER OMEGA, COMBINING COMMA ABOVE → GREEK SMALL LETTER OMEGA -03C9 0314; 03C9 # ὡ → ω GREEK SMALL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER OMEGA -03A9 0313; 03A9 # Ὠ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING COMMA ABOVE → GREEK CAPITAL LETTER OMEGA -03A9 0314; 03A9 # Ὡ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER OMEGA -03B1 0300; 03B1 # ὰ → α GREEK SMALL LETTER ALPHA, COMBINING GRAVE ACCENT → GREEK SMALL LETTER ALPHA -03B5 0300; 03B5 # ὲ → ε GREEK SMALL LETTER EPSILON, COMBINING GRAVE ACCENT → GREEK SMALL LETTER EPSILON -03B7 0300; 03B7 # ὴ → η GREEK SMALL LETTER ETA, COMBINING GRAVE ACCENT → GREEK SMALL LETTER ETA -03B9 0300; 03B9 # ὶ → ι GREEK SMALL LETTER IOTA, COMBINING GRAVE ACCENT → GREEK SMALL LETTER IOTA -03BF 0300; 03BF # ὸ → ο GREEK SMALL LETTER OMICRON, COMBINING GRAVE ACCENT → GREEK SMALL LETTER OMICRON -03C5 0300; 03C5 # ὺ → υ GREEK SMALL LETTER UPSILON, COMBINING GRAVE ACCENT → GREEK SMALL LETTER UPSILON -03C9 0300; 03C9 # ὼ → ω GREEK SMALL LETTER OMEGA, COMBINING GRAVE ACCENT → GREEK SMALL LETTER OMEGA -03B1 0306; 03B1 # ᾰ → α GREEK SMALL LETTER ALPHA, COMBINING BREVE → GREEK SMALL LETTER ALPHA -03B1 0304; 03B1 # ᾱ → α GREEK SMALL LETTER ALPHA, COMBINING MACRON → GREEK SMALL LETTER ALPHA -03B1 0342; 03B1 # ᾶ → α GREEK SMALL LETTER ALPHA, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER ALPHA -0391 0306; 0391 # Ᾰ → Α GREEK CAPITAL LETTER ALPHA, COMBINING BREVE → GREEK CAPITAL LETTER ALPHA -0391 0304; 0391 # Ᾱ → Α GREEK CAPITAL LETTER ALPHA, COMBINING MACRON → GREEK CAPITAL LETTER ALPHA -0391 0300; 0391 # Ὰ → Α GREEK CAPITAL LETTER ALPHA, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER ALPHA -03B7 0342; 03B7 # ῆ → η GREEK SMALL LETTER ETA, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER ETA -0395 0300; 0395 # Ὲ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER EPSILON -0397 0300; 0397 # Ὴ → Η GREEK CAPITAL LETTER ETA, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER ETA -03B9 0306; 03B9 # ῐ → ι GREEK SMALL LETTER IOTA, COMBINING BREVE → GREEK SMALL LETTER IOTA -03B9 0304; 03B9 # ῑ → ι GREEK SMALL LETTER IOTA, COMBINING MACRON → GREEK SMALL LETTER IOTA -03B9 0342; 03B9 # ῖ → ι GREEK SMALL LETTER IOTA, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER IOTA -0399 0306; 0399 # Ῐ → Ι GREEK CAPITAL LETTER IOTA, COMBINING BREVE → GREEK CAPITAL LETTER IOTA -0399 0304; 0399 # Ῑ → Ι GREEK CAPITAL LETTER IOTA, COMBINING MACRON → GREEK CAPITAL LETTER IOTA -0399 0300; 0399 # Ὶ → Ι GREEK CAPITAL LETTER IOTA, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER IOTA -03C5 0306; 03C5 # ῠ → υ GREEK SMALL LETTER UPSILON, COMBINING BREVE → GREEK SMALL LETTER UPSILON -03C5 0304; 03C5 # ῡ → υ GREEK SMALL LETTER UPSILON, COMBINING MACRON → GREEK SMALL LETTER UPSILON -03C1 0313; 03C1 # ῤ → ρ GREEK SMALL LETTER RHO, COMBINING COMMA ABOVE → GREEK SMALL LETTER RHO -03C1 0314; 03C1 # ῥ → ρ GREEK SMALL LETTER RHO, COMBINING REVERSED COMMA ABOVE → GREEK SMALL LETTER RHO -03C5 0342; 03C5 # ῦ → υ GREEK SMALL LETTER UPSILON, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER UPSILON -03A5 0306; 03A5 # Ῠ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING BREVE → GREEK CAPITAL LETTER UPSILON -03A5 0304; 03A5 # Ῡ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING MACRON → GREEK CAPITAL LETTER UPSILON -03A5 0300; 03A5 # Ὺ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER UPSILON -03A1 0314; 03A1 # Ῥ → Ρ GREEK CAPITAL LETTER RHO, COMBINING REVERSED COMMA ABOVE → GREEK CAPITAL LETTER RHO -03C9 0342; 03C9 # ῶ → ω GREEK SMALL LETTER OMEGA, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER OMEGA -039F 0300; 039F # Ὸ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER OMICRON -03A9 0300; 03A9 # Ὼ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER OMEGA -05D9 05B4; 05D9 # יִ → י HEBREW LETTER YOD, HEBREW POINT HIRIQ → HEBREW LETTER YOD -05E9 05C1; 05E9 # שׁ → ש HEBREW LETTER SHIN, HEBREW POINT SHIN DOT → HEBREW LETTER SHIN -05E9 05C2; 05E9 # שׂ → ש HEBREW LETTER SHIN, HEBREW POINT SIN DOT → HEBREW LETTER SHIN -05D0 05B7; 05D0 # אַ → א HEBREW LETTER ALEF, HEBREW POINT PATAH → HEBREW LETTER ALEF -05D0 05B8; 05D0 # אָ → א HEBREW LETTER ALEF, HEBREW POINT QAMATS → HEBREW LETTER ALEF -05D0 05BC; 05D0 # אּ → א HEBREW LETTER ALEF, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER ALEF -05D1 05BC; 05D1 # בּ → ב HEBREW LETTER BET, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER BET -05D2 05BC; 05D2 # גּ → ג HEBREW LETTER GIMEL, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER GIMEL -05D3 05BC; 05D3 # דּ → ד HEBREW LETTER DALET, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER DALET -05D4 05BC; 05D4 # הּ → ה HEBREW LETTER HE, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER HE -05D5 05BC; 05D5 # וּ → ו HEBREW LETTER VAV, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER VAV -05D6 05BC; 05D6 # זּ → ז HEBREW LETTER ZAYIN, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER ZAYIN -05D8 05BC; 05D8 # טּ → ט HEBREW LETTER TET, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER TET -05D9 05BC; 05D9 # יּ → י HEBREW LETTER YOD, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER YOD -05DA 05BC; 05DA # ךּ → ך HEBREW LETTER FINAL KAF, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER FINAL KAF -05DB 05BC; 05DB # כּ → כ HEBREW LETTER KAF, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER KAF -05DC 05BC; 05DC # לּ → ל HEBREW LETTER LAMED, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER LAMED -05DE 05BC; 05DE # מּ → מ HEBREW LETTER MEM, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER MEM -05E0 05BC; 05E0 # נּ → נ HEBREW LETTER NUN, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER NUN -05E1 05BC; 05E1 # סּ → ס HEBREW LETTER SAMEKH, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER SAMEKH -05E3 05BC; 05E3 # ףּ → ף HEBREW LETTER FINAL PE, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER FINAL PE -05E4 05BC; 05E4 # פּ → פ HEBREW LETTER PE, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER PE -05E6 05BC; 05E6 # צּ → צ HEBREW LETTER TSADI, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER TSADI -05E7 05BC; 05E7 # קּ → ק HEBREW LETTER QOF, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER QOF -05E8 05BC; 05E8 # רּ → ר HEBREW LETTER RESH, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER RESH -05E9 05BC; 05E9 # שּ → ש HEBREW LETTER SHIN, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER SHIN -05EA 05BC; 05EA # תּ → ת HEBREW LETTER TAV, HEBREW POINT DAGESH OR MAPIQ → HEBREW LETTER TAV -05D5 05B9; 05D5 # וֹ → ו HEBREW LETTER VAV, HEBREW POINT HOLAM → HEBREW LETTER VAV -05D1 05BF; 05D1 # בֿ → ב HEBREW LETTER BET, HEBREW POINT RAFE → HEBREW LETTER BET -05DB 05BF; 05DB # כֿ → כ HEBREW LETTER KAF, HEBREW POINT RAFE → HEBREW LETTER KAF -05E4 05BF; 05E4 # פֿ → פ HEBREW LETTER PE, HEBREW POINT RAFE → HEBREW LETTER PE -0041 0302 0300; 0041 # Ầ → A LATIN CAPITAL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER A -0041 0302 0301; 0041 # Ấ → A LATIN CAPITAL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER A -0041 0302 0303; 0041 # Ẫ → A LATIN CAPITAL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING TILDE → LATIN CAPITAL LETTER A -0041 0302 0309; 0041 # Ẩ → A LATIN CAPITAL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER A -0041 0306 0300; 0041 # Ằ → A LATIN CAPITAL LETTER A, COMBINING BREVE, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER A -0041 0306 0301; 0041 # Ắ → A LATIN CAPITAL LETTER A, COMBINING BREVE, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER A -0041 0306 0303; 0041 # Ẵ → A LATIN CAPITAL LETTER A, COMBINING BREVE, COMBINING TILDE → LATIN CAPITAL LETTER A -0041 0306 0309; 0041 # Ẳ → A LATIN CAPITAL LETTER A, COMBINING BREVE, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER A -0041 0307 0304; 0041 # Ǡ → A LATIN CAPITAL LETTER A, COMBINING DOT ABOVE, COMBINING MACRON → LATIN CAPITAL LETTER A -0041 0308 0304; 0041 # Ǟ → A LATIN CAPITAL LETTER A, COMBINING DIAERESIS, COMBINING MACRON → LATIN CAPITAL LETTER A -0041 030A 0301; 0041 # Ǻ → A LATIN CAPITAL LETTER A, COMBINING RING ABOVE, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER A -0041 0323 0302; 0041 # Ậ → A LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER A -0041 0323 0306; 0041 # Ặ → A LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE → LATIN CAPITAL LETTER A -0043 0327 0301; 0043 # Ḉ → C LATIN CAPITAL LETTER C, COMBINING CEDILLA, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER C -0045 0302 0300; 0045 # Ề → E LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER E -0045 0302 0301; 0045 # Ế → E LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER E -0045 0302 0303; 0045 # Ễ → E LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING TILDE → LATIN CAPITAL LETTER E -0045 0302 0309; 0045 # Ể → E LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER E -0045 0304 0300; 0045 # Ḕ → E LATIN CAPITAL LETTER E, COMBINING MACRON, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER E -0045 0304 0301; 0045 # Ḗ → E LATIN CAPITAL LETTER E, COMBINING MACRON, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER E -0045 0323 0302; 0045 # Ệ → E LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER E -0045 0327 0306; 0045 # Ḝ → E LATIN CAPITAL LETTER E, COMBINING CEDILLA, COMBINING BREVE → LATIN CAPITAL LETTER E -0049 0308 0301; 0049 # Ḯ → I LATIN CAPITAL LETTER I, COMBINING DIAERESIS, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER I -004C 0323 0304; 004C # Ḹ → L LATIN CAPITAL LETTER L, COMBINING DOT BELOW, COMBINING MACRON → LATIN CAPITAL LETTER L -004F 0302 0300; 004F # Ồ → O LATIN CAPITAL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER O -004F 0302 0301; 004F # Ố → O LATIN CAPITAL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER O -004F 0302 0303; 004F # Ỗ → O LATIN CAPITAL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING TILDE → LATIN CAPITAL LETTER O -004F 0302 0309; 004F # Ổ → O LATIN CAPITAL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER O -004F 0303 0301; 004F # Ṍ → O LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER O -004F 0303 0304; 004F # Ȭ → O LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING MACRON → LATIN CAPITAL LETTER O -004F 0303 0308; 004F # Ṏ → O LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING DIAERESIS → LATIN CAPITAL LETTER O -004F 0304 0300; 004F # Ṑ → O LATIN CAPITAL LETTER O, COMBINING MACRON, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER O -004F 0304 0301; 004F # Ṓ → O LATIN CAPITAL LETTER O, COMBINING MACRON, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER O -004F 0307 0304; 004F # Ȱ → O LATIN CAPITAL LETTER O, COMBINING DOT ABOVE, COMBINING MACRON → LATIN CAPITAL LETTER O -004F 0308 0304; 004F # Ȫ → O LATIN CAPITAL LETTER O, COMBINING DIAERESIS, COMBINING MACRON → LATIN CAPITAL LETTER O -004F 031B 0300; 004F # Ờ → O LATIN CAPITAL LETTER O, COMBINING HORN, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER O -004F 031B 0301; 004F # Ớ → O LATIN CAPITAL LETTER O, COMBINING HORN, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER O -004F 031B 0303; 004F # Ỡ → O LATIN CAPITAL LETTER O, COMBINING HORN, COMBINING TILDE → LATIN CAPITAL LETTER O -004F 031B 0309; 004F # Ở → O LATIN CAPITAL LETTER O, COMBINING HORN, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER O -004F 031B 0323; 004F # Ợ → O LATIN CAPITAL LETTER O, COMBINING HORN, COMBINING DOT BELOW → LATIN CAPITAL LETTER O -004F 0323 0302; 004F # Ộ → O LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT → LATIN CAPITAL LETTER O -004F 0328 0304; 004F # Ǭ → O LATIN CAPITAL LETTER O, COMBINING OGONEK, COMBINING MACRON → LATIN CAPITAL LETTER O -0052 0323 0304; 0052 # Ṝ → R LATIN CAPITAL LETTER R, COMBINING DOT BELOW, COMBINING MACRON → LATIN CAPITAL LETTER R -0053 0301 0307; 0053 # Ṥ → S LATIN CAPITAL LETTER S, COMBINING ACUTE ACCENT, COMBINING DOT ABOVE → LATIN CAPITAL LETTER S -0053 030C 0307; 0053 # Ṧ → S LATIN CAPITAL LETTER S, COMBINING CARON, COMBINING DOT ABOVE → LATIN CAPITAL LETTER S -0053 0323 0307; 0053 # Ṩ → S LATIN CAPITAL LETTER S, COMBINING DOT BELOW, COMBINING DOT ABOVE → LATIN CAPITAL LETTER S -0055 0303 0301; 0055 # Ṹ → U LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER U -0055 0304 0308; 0055 # Ṻ → U LATIN CAPITAL LETTER U, COMBINING MACRON, COMBINING DIAERESIS → LATIN CAPITAL LETTER U -0055 0308 0300; 0055 # Ǜ → U LATIN CAPITAL LETTER U, COMBINING DIAERESIS, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER U -0055 0308 0301; 0055 # Ǘ → U LATIN CAPITAL LETTER U, COMBINING DIAERESIS, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER U -0055 0308 0304; 0055 # Ǖ → U LATIN CAPITAL LETTER U, COMBINING DIAERESIS, COMBINING MACRON → LATIN CAPITAL LETTER U -0055 0308 030C; 0055 # Ǚ → U LATIN CAPITAL LETTER U, COMBINING DIAERESIS, COMBINING CARON → LATIN CAPITAL LETTER U -0055 031B 0300; 0055 # Ừ → U LATIN CAPITAL LETTER U, COMBINING HORN, COMBINING GRAVE ACCENT → LATIN CAPITAL LETTER U -0055 031B 0301; 0055 # Ứ → U LATIN CAPITAL LETTER U, COMBINING HORN, COMBINING ACUTE ACCENT → LATIN CAPITAL LETTER U -0055 031B 0303; 0055 # Ữ → U LATIN CAPITAL LETTER U, COMBINING HORN, COMBINING TILDE → LATIN CAPITAL LETTER U -0055 031B 0309; 0055 # Ử → U LATIN CAPITAL LETTER U, COMBINING HORN, COMBINING HOOK ABOVE → LATIN CAPITAL LETTER U -0055 031B 0323; 0055 # Ự → U LATIN CAPITAL LETTER U, COMBINING HORN, COMBINING DOT BELOW → LATIN CAPITAL LETTER U -0061 0302 0300; 0061 # ầ → a LATIN SMALL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING GRAVE ACCENT → LATIN SMALL LETTER A -0061 0302 0301; 0061 # ấ → a LATIN SMALL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING ACUTE ACCENT → LATIN SMALL LETTER A -0061 0302 0303; 0061 # ẫ → a LATIN SMALL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING TILDE → LATIN SMALL LETTER A -0061 0302 0309; 0061 # ẩ → a LATIN SMALL LETTER A, COMBINING CIRCUMFLEX ACCENT, COMBINING HOOK ABOVE → LATIN SMALL LETTER A -0061 0306 0300; 0061 # ằ → a LATIN SMALL LETTER A, COMBINING BREVE, COMBINING GRAVE ACCENT → LATIN SMALL LETTER A -0061 0306 0301; 0061 # ắ → a LATIN SMALL LETTER A, COMBINING BREVE, COMBINING ACUTE ACCENT → LATIN SMALL LETTER A -0061 0306 0303; 0061 # ẵ → a LATIN SMALL LETTER A, COMBINING BREVE, COMBINING TILDE → LATIN SMALL LETTER A -0061 0306 0309; 0061 # ẳ → a LATIN SMALL LETTER A, COMBINING BREVE, COMBINING HOOK ABOVE → LATIN SMALL LETTER A -0061 0307 0304; 0061 # ǡ → a LATIN SMALL LETTER A, COMBINING DOT ABOVE, COMBINING MACRON → LATIN SMALL LETTER A -0061 0308 0304; 0061 # ǟ → a LATIN SMALL LETTER A, COMBINING DIAERESIS, COMBINING MACRON → LATIN SMALL LETTER A -0061 030A 0301; 0061 # ǻ → a LATIN SMALL LETTER A, COMBINING RING ABOVE, COMBINING ACUTE ACCENT → LATIN SMALL LETTER A -0061 0323 0302; 0061 # ậ → a LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER A -0061 0323 0306; 0061 # ặ → a LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE → LATIN SMALL LETTER A -0063 0327 0301; 0063 # ḉ → c LATIN SMALL LETTER C, COMBINING CEDILLA, COMBINING ACUTE ACCENT → LATIN SMALL LETTER C -0065 0302 0300; 0065 # ề → e LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING GRAVE ACCENT → LATIN SMALL LETTER E -0065 0302 0301; 0065 # ế → e LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING ACUTE ACCENT → LATIN SMALL LETTER E -0065 0302 0303; 0065 # ễ → e LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING TILDE → LATIN SMALL LETTER E -0065 0302 0309; 0065 # ể → e LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING HOOK ABOVE → LATIN SMALL LETTER E -0065 0304 0300; 0065 # ḕ → e LATIN SMALL LETTER E, COMBINING MACRON, COMBINING GRAVE ACCENT → LATIN SMALL LETTER E -0065 0304 0301; 0065 # ḗ → e LATIN SMALL LETTER E, COMBINING MACRON, COMBINING ACUTE ACCENT → LATIN SMALL LETTER E -0065 0323 0302; 0065 # ệ → e LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER E -0065 0327 0306; 0065 # ḝ → e LATIN SMALL LETTER E, COMBINING CEDILLA, COMBINING BREVE → LATIN SMALL LETTER E -0069 0308 0301; 0069 # ḯ → i LATIN SMALL LETTER I, COMBINING DIAERESIS, COMBINING ACUTE ACCENT → LATIN SMALL LETTER I -006C 0323 0304; 006C # ḹ → l LATIN SMALL LETTER L, COMBINING DOT BELOW, COMBINING MACRON → LATIN SMALL LETTER L -006F 0302 0300; 006F # ồ → o LATIN SMALL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING GRAVE ACCENT → LATIN SMALL LETTER O -006F 0302 0301; 006F # ố → o LATIN SMALL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING ACUTE ACCENT → LATIN SMALL LETTER O -006F 0302 0303; 006F # ỗ → o LATIN SMALL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING TILDE → LATIN SMALL LETTER O -006F 0302 0309; 006F # ổ → o LATIN SMALL LETTER O, COMBINING CIRCUMFLEX ACCENT, COMBINING HOOK ABOVE → LATIN SMALL LETTER O -006F 0303 0301; 006F # ṍ → o LATIN SMALL LETTER O, COMBINING TILDE, COMBINING ACUTE ACCENT → LATIN SMALL LETTER O -006F 0303 0304; 006F # ȭ → o LATIN SMALL LETTER O, COMBINING TILDE, COMBINING MACRON → LATIN SMALL LETTER O -006F 0303 0308; 006F # ṏ → o LATIN SMALL LETTER O, COMBINING TILDE, COMBINING DIAERESIS → LATIN SMALL LETTER O -006F 0304 0300; 006F # ṑ → o LATIN SMALL LETTER O, COMBINING MACRON, COMBINING GRAVE ACCENT → LATIN SMALL LETTER O -006F 0304 0301; 006F # ṓ → o LATIN SMALL LETTER O, COMBINING MACRON, COMBINING ACUTE ACCENT → LATIN SMALL LETTER O -006F 0307 0304; 006F # ȱ → o LATIN SMALL LETTER O, COMBINING DOT ABOVE, COMBINING MACRON → LATIN SMALL LETTER O -006F 0308 0304; 006F # ȫ → o LATIN SMALL LETTER O, COMBINING DIAERESIS, COMBINING MACRON → LATIN SMALL LETTER O -006F 031B 0300; 006F # ờ → o LATIN SMALL LETTER O, COMBINING HORN, COMBINING GRAVE ACCENT → LATIN SMALL LETTER O -006F 031B 0301; 006F # ớ → o LATIN SMALL LETTER O, COMBINING HORN, COMBINING ACUTE ACCENT → LATIN SMALL LETTER O -006F 031B 0303; 006F # ỡ → o LATIN SMALL LETTER O, COMBINING HORN, COMBINING TILDE → LATIN SMALL LETTER O -006F 031B 0309; 006F # ở → o LATIN SMALL LETTER O, COMBINING HORN, COMBINING HOOK ABOVE → LATIN SMALL LETTER O -006F 031B 0323; 006F # ợ → o LATIN SMALL LETTER O, COMBINING HORN, COMBINING DOT BELOW → LATIN SMALL LETTER O -006F 0323 0302; 006F # ộ → o LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT → LATIN SMALL LETTER O -006F 0328 0304; 006F # ǭ → o LATIN SMALL LETTER O, COMBINING OGONEK, COMBINING MACRON → LATIN SMALL LETTER O -0072 0323 0304; 0072 # ṝ → r LATIN SMALL LETTER R, COMBINING DOT BELOW, COMBINING MACRON → LATIN SMALL LETTER R -0073 0301 0307; 0073 # ṥ → s LATIN SMALL LETTER S, COMBINING ACUTE ACCENT, COMBINING DOT ABOVE → LATIN SMALL LETTER S -0073 030C 0307; 0073 # ṧ → s LATIN SMALL LETTER S, COMBINING CARON, COMBINING DOT ABOVE → LATIN SMALL LETTER S -0073 0323 0307; 0073 # ṩ → s LATIN SMALL LETTER S, COMBINING DOT BELOW, COMBINING DOT ABOVE → LATIN SMALL LETTER S -0075 0303 0301; 0075 # ṹ → u LATIN SMALL LETTER U, COMBINING TILDE, COMBINING ACUTE ACCENT → LATIN SMALL LETTER U -0075 0304 0308; 0075 # ṻ → u LATIN SMALL LETTER U, COMBINING MACRON, COMBINING DIAERESIS → LATIN SMALL LETTER U -0075 0308 0300; 0075 # ǜ → u LATIN SMALL LETTER U, COMBINING DIAERESIS, COMBINING GRAVE ACCENT → LATIN SMALL LETTER U -0075 0308 0301; 0075 # ǘ → u LATIN SMALL LETTER U, COMBINING DIAERESIS, COMBINING ACUTE ACCENT → LATIN SMALL LETTER U -0075 0308 0304; 0075 # ǖ → u LATIN SMALL LETTER U, COMBINING DIAERESIS, COMBINING MACRON → LATIN SMALL LETTER U -0075 0308 030C; 0075 # ǚ → u LATIN SMALL LETTER U, COMBINING DIAERESIS, COMBINING CARON → LATIN SMALL LETTER U -0075 031B 0300; 0075 # ừ → u LATIN SMALL LETTER U, COMBINING HORN, COMBINING GRAVE ACCENT → LATIN SMALL LETTER U -0075 031B 0301; 0075 # ứ → u LATIN SMALL LETTER U, COMBINING HORN, COMBINING ACUTE ACCENT → LATIN SMALL LETTER U -0075 031B 0303; 0075 # ữ → u LATIN SMALL LETTER U, COMBINING HORN, COMBINING TILDE → LATIN SMALL LETTER U -0075 031B 0309; 0075 # ử → u LATIN SMALL LETTER U, COMBINING HORN, COMBINING HOOK ABOVE → LATIN SMALL LETTER U -0075 031B 0323; 0075 # ự → u LATIN SMALL LETTER U, COMBINING HORN, COMBINING DOT BELOW → LATIN SMALL LETTER U -0391 0313 0300; 0391 # Ἂ → Α GREEK CAPITAL LETTER ALPHA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER ALPHA -0391 0313 0301; 0391 # Ἄ → Α GREEK CAPITAL LETTER ALPHA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER ALPHA -0391 0313 0342; 0391 # Ἆ → Α GREEK CAPITAL LETTER ALPHA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER ALPHA -0391 0314 0300; 0391 # Ἃ → Α GREEK CAPITAL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER ALPHA -0391 0314 0301; 0391 # Ἅ → Α GREEK CAPITAL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER ALPHA -0391 0314 0342; 0391 # Ἇ → Α GREEK CAPITAL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER ALPHA -0395 0313 0300; 0395 # Ἒ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER EPSILON -0395 0313 0301; 0395 # Ἔ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER EPSILON -0395 0314 0300; 0395 # Ἓ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER EPSILON -0395 0314 0301; 0395 # Ἕ → Ε GREEK CAPITAL LETTER EPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER EPSILON -0397 0313 0300; 0397 # Ἢ → Η GREEK CAPITAL LETTER ETA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER ETA -0397 0313 0301; 0397 # Ἤ → Η GREEK CAPITAL LETTER ETA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER ETA -0397 0313 0342; 0397 # Ἦ → Η GREEK CAPITAL LETTER ETA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER ETA -0397 0314 0300; 0397 # Ἣ → Η GREEK CAPITAL LETTER ETA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER ETA -0397 0314 0301; 0397 # Ἥ → Η GREEK CAPITAL LETTER ETA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER ETA -0397 0314 0342; 0397 # Ἧ → Η GREEK CAPITAL LETTER ETA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER ETA -0399 0313 0300; 0399 # Ἲ → Ι GREEK CAPITAL LETTER IOTA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER IOTA -0399 0313 0301; 0399 # Ἴ → Ι GREEK CAPITAL LETTER IOTA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER IOTA -0399 0313 0342; 0399 # Ἶ → Ι GREEK CAPITAL LETTER IOTA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER IOTA -0399 0314 0300; 0399 # Ἳ → Ι GREEK CAPITAL LETTER IOTA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER IOTA -0399 0314 0301; 0399 # Ἵ → Ι GREEK CAPITAL LETTER IOTA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER IOTA -0399 0314 0342; 0399 # Ἷ → Ι GREEK CAPITAL LETTER IOTA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER IOTA -039F 0313 0300; 039F # Ὂ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER OMICRON -039F 0313 0301; 039F # Ὄ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER OMICRON -039F 0314 0300; 039F # Ὃ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER OMICRON -039F 0314 0301; 039F # Ὅ → Ο GREEK CAPITAL LETTER OMICRON, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER OMICRON -03A5 0314 0300; 03A5 # Ὓ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER UPSILON -03A5 0314 0301; 03A5 # Ὕ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER UPSILON -03A5 0314 0342; 03A5 # Ὗ → Υ GREEK CAPITAL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER UPSILON -03A9 0313 0300; 03A9 # Ὢ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER OMEGA -03A9 0313 0301; 03A9 # Ὤ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER OMEGA -03A9 0313 0342; 03A9 # Ὦ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER OMEGA -03A9 0314 0300; 03A9 # Ὣ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK CAPITAL LETTER OMEGA -03A9 0314 0301; 03A9 # Ὥ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK CAPITAL LETTER OMEGA -03A9 0314 0342; 03A9 # Ὧ → Ω GREEK CAPITAL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK CAPITAL LETTER OMEGA -03B1 0313 0300; 03B1 # ἂ → α GREEK SMALL LETTER ALPHA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER ALPHA -03B1 0313 0301; 03B1 # ἄ → α GREEK SMALL LETTER ALPHA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER ALPHA -03B1 0313 0342; 03B1 # ἆ → α GREEK SMALL LETTER ALPHA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER ALPHA -03B1 0314 0300; 03B1 # ἃ → α GREEK SMALL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER ALPHA -03B1 0314 0301; 03B1 # ἅ → α GREEK SMALL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER ALPHA -03B1 0314 0342; 03B1 # ἇ → α GREEK SMALL LETTER ALPHA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER ALPHA -03B5 0313 0300; 03B5 # ἒ → ε GREEK SMALL LETTER EPSILON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER EPSILON -03B5 0313 0301; 03B5 # ἔ → ε GREEK SMALL LETTER EPSILON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER EPSILON -03B5 0314 0300; 03B5 # ἓ → ε GREEK SMALL LETTER EPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER EPSILON -03B5 0314 0301; 03B5 # ἕ → ε GREEK SMALL LETTER EPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER EPSILON -03B7 0313 0300; 03B7 # ἢ → η GREEK SMALL LETTER ETA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER ETA -03B7 0313 0301; 03B7 # ἤ → η GREEK SMALL LETTER ETA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER ETA -03B7 0313 0342; 03B7 # ἦ → η GREEK SMALL LETTER ETA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER ETA -03B7 0314 0300; 03B7 # ἣ → η GREEK SMALL LETTER ETA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER ETA -03B7 0314 0301; 03B7 # ἥ → η GREEK SMALL LETTER ETA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER ETA -03B7 0314 0342; 03B7 # ἧ → η GREEK SMALL LETTER ETA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER ETA -03B9 0308 0300; 03B9 # ῒ → ι GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING GRAVE ACCENT → GREEK SMALL LETTER IOTA -03B9 0308 0301; 03B9 # ΐ → ι GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING ACUTE ACCENT → GREEK SMALL LETTER IOTA -03B9 0308 0342; 03B9 # ῗ → ι GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER IOTA -03B9 0313 0300; 03B9 # ἲ → ι GREEK SMALL LETTER IOTA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER IOTA -03B9 0313 0301; 03B9 # ἴ → ι GREEK SMALL LETTER IOTA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER IOTA -03B9 0313 0342; 03B9 # ἶ → ι GREEK SMALL LETTER IOTA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER IOTA -03B9 0314 0300; 03B9 # ἳ → ι GREEK SMALL LETTER IOTA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER IOTA -03B9 0314 0301; 03B9 # ἵ → ι GREEK SMALL LETTER IOTA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER IOTA -03B9 0314 0342; 03B9 # ἷ → ι GREEK SMALL LETTER IOTA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER IOTA -03BF 0313 0300; 03BF # ὂ → ο GREEK SMALL LETTER OMICRON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER OMICRON -03BF 0313 0301; 03BF # ὄ → ο GREEK SMALL LETTER OMICRON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER OMICRON -03BF 0314 0300; 03BF # ὃ → ο GREEK SMALL LETTER OMICRON, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER OMICRON -03BF 0314 0301; 03BF # ὅ → ο GREEK SMALL LETTER OMICRON, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER OMICRON -03C5 0308 0300; 03C5 # ῢ → υ GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING GRAVE ACCENT → GREEK SMALL LETTER UPSILON -03C5 0308 0301; 03C5 # ΰ → υ GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING ACUTE ACCENT → GREEK SMALL LETTER UPSILON -03C5 0308 0342; 03C5 # ῧ → υ GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER UPSILON -03C5 0313 0300; 03C5 # ὒ → υ GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER UPSILON -03C5 0313 0301; 03C5 # ὔ → υ GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER UPSILON -03C5 0313 0342; 03C5 # ὖ → υ GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER UPSILON -03C5 0314 0300; 03C5 # ὓ → υ GREEK SMALL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER UPSILON -03C5 0314 0301; 03C5 # ὕ → υ GREEK SMALL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER UPSILON -03C5 0314 0342; 03C5 # ὗ → υ GREEK SMALL LETTER UPSILON, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER UPSILON -03C9 0313 0300; 03C9 # ὢ → ω GREEK SMALL LETTER OMEGA, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER OMEGA -03C9 0313 0301; 03C9 # ὤ → ω GREEK SMALL LETTER OMEGA, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER OMEGA -03C9 0313 0342; 03C9 # ὦ → ω GREEK SMALL LETTER OMEGA, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER OMEGA -03C9 0314 0300; 03C9 # ὣ → ω GREEK SMALL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE, COMBINING GRAVE ACCENT → GREEK SMALL LETTER OMEGA -03C9 0314 0301; 03C9 # ὥ → ω GREEK SMALL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE, COMBINING ACUTE ACCENT → GREEK SMALL LETTER OMEGA -03C9 0314 0342; 03C9 # ὧ → ω GREEK SMALL LETTER OMEGA, COMBINING REVERSED COMMA ABOVE, COMBINING GREEK PERISPOMENI → GREEK SMALL LETTER OMEGA -05E9 05BC 05C1; 05E9 # שּׁ → ש HEBREW LETTER SHIN, HEBREW POINT DAGESH OR MAPIQ, HEBREW POINT SHIN DOT → HEBREW LETTER SHIN -05E9 05BC 05C2; 05E9 # שּׂ → ש HEBREW LETTER SHIN, HEBREW POINT DAGESH OR MAPIQ, HEBREW POINT SIN DOT → HEBREW LETTER SHIN - -# precomposed -00C0; 0041 # À → A LATIN CAPITAL LETTER A WITH GRAVE → LATIN CAPITAL LETTER A -00C1; 0041 # Á → A LATIN CAPITAL LETTER A WITH ACUTE → LATIN CAPITAL LETTER A -00C2; 0041 # Â → A LATIN CAPITAL LETTER A WITH CIRCUMFLEX → LATIN CAPITAL LETTER A -00C3; 0041 # Ã → A LATIN CAPITAL LETTER A WITH TILDE → LATIN CAPITAL LETTER A -00C4; 0041 # Ä → A LATIN CAPITAL LETTER A WITH DIAERESIS → LATIN CAPITAL LETTER A -00C5; 0041 # Å → A LATIN CAPITAL LETTER A WITH RING ABOVE → LATIN CAPITAL LETTER A -0100; 0041 # Ā → A LATIN CAPITAL LETTER A WITH MACRON → LATIN CAPITAL LETTER A -0102; 0041 # Ă → A LATIN CAPITAL LETTER A WITH BREVE → LATIN CAPITAL LETTER A -0104; 0041 # Ą → A LATIN CAPITAL LETTER A WITH OGONEK → LATIN CAPITAL LETTER A -01CD; 0041 # Ǎ → A LATIN CAPITAL LETTER A WITH CARON → LATIN CAPITAL LETTER A -01DE; 0041 # Ǟ → A LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON → LATIN CAPITAL LETTER A -01E0; 0041 # Ǡ → A LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON → LATIN CAPITAL LETTER A -01FA; 0041 # Ǻ → A LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE → LATIN CAPITAL LETTER A -0200; 0041 # Ȁ → A LATIN CAPITAL LETTER A WITH DOUBLE GRAVE → LATIN CAPITAL LETTER A -0202; 0041 # Ȃ → A LATIN CAPITAL LETTER A WITH INVERTED BREVE → LATIN CAPITAL LETTER A -0226; 0041 # Ȧ → A LATIN CAPITAL LETTER A WITH DOT ABOVE → LATIN CAPITAL LETTER A -1E00; 0041 # Ḁ → A LATIN CAPITAL LETTER A WITH RING BELOW → LATIN CAPITAL LETTER A -1EA0; 0041 # Ạ → A LATIN CAPITAL LETTER A WITH DOT BELOW → LATIN CAPITAL LETTER A -1EA2; 0041 # Ả → A LATIN CAPITAL LETTER A WITH HOOK ABOVE → LATIN CAPITAL LETTER A -1EA4; 0041 # Ấ → A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE → LATIN CAPITAL LETTER A -1EA6; 0041 # Ầ → A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE → LATIN CAPITAL LETTER A -1EA8; 0041 # Ẩ → A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE → LATIN CAPITAL LETTER A -1EAA; 0041 # Ẫ → A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE → LATIN CAPITAL LETTER A -1EAC; 0041 # Ậ → A LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW → LATIN CAPITAL LETTER A -1EAE; 0041 # Ắ → A LATIN CAPITAL LETTER A WITH BREVE AND ACUTE → LATIN CAPITAL LETTER A -1EB0; 0041 # Ằ → A LATIN CAPITAL LETTER A WITH BREVE AND GRAVE → LATIN CAPITAL LETTER A -1EB2; 0041 # Ẳ → A LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE → LATIN CAPITAL LETTER A -1EB4; 0041 # Ẵ → A LATIN CAPITAL LETTER A WITH BREVE AND TILDE → LATIN CAPITAL LETTER A -1EB6; 0041 # Ặ → A LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW → LATIN CAPITAL LETTER A -0181; 0042 # Ɓ → B LATIN CAPITAL LETTER B WITH HOOK → LATIN CAPITAL LETTER B -0182; 0042 # Ƃ → B LATIN CAPITAL LETTER B WITH TOPBAR → LATIN CAPITAL LETTER B -1E02; 0042 # Ḃ → B LATIN CAPITAL LETTER B WITH DOT ABOVE → LATIN CAPITAL LETTER B -1E04; 0042 # Ḅ → B LATIN CAPITAL LETTER B WITH DOT BELOW → LATIN CAPITAL LETTER B -1E06; 0042 # Ḇ → B LATIN CAPITAL LETTER B WITH LINE BELOW → LATIN CAPITAL LETTER B -00C7; 0043 # Ç → C LATIN CAPITAL LETTER C WITH CEDILLA → LATIN CAPITAL LETTER C -0106; 0043 # Ć → C LATIN CAPITAL LETTER C WITH ACUTE → LATIN CAPITAL LETTER C -0108; 0043 # Ĉ → C LATIN CAPITAL LETTER C WITH CIRCUMFLEX → LATIN CAPITAL LETTER C -010A; 0043 # Ċ → C LATIN CAPITAL LETTER C WITH DOT ABOVE → LATIN CAPITAL LETTER C -010C; 0043 # Č → C LATIN CAPITAL LETTER C WITH CARON → LATIN CAPITAL LETTER C -0187; 0043 # Ƈ → C LATIN CAPITAL LETTER C WITH HOOK → LATIN CAPITAL LETTER C -1E08; 0043 # Ḉ → C LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE → LATIN CAPITAL LETTER C -010E; 0044 # Ď → D LATIN CAPITAL LETTER D WITH CARON → LATIN CAPITAL LETTER D -0110; 0044 # Đ → D LATIN CAPITAL LETTER D WITH STROKE → LATIN CAPITAL LETTER D -018A; 0044 # Ɗ → D LATIN CAPITAL LETTER D WITH HOOK → LATIN CAPITAL LETTER D -018B; 0044 # Ƌ → D LATIN CAPITAL LETTER D WITH TOPBAR → LATIN CAPITAL LETTER D -1E0A; 0044 # Ḋ → D LATIN CAPITAL LETTER D WITH DOT ABOVE → LATIN CAPITAL LETTER D -1E0C; 0044 # Ḍ → D LATIN CAPITAL LETTER D WITH DOT BELOW → LATIN CAPITAL LETTER D -1E0E; 0044 # Ḏ → D LATIN CAPITAL LETTER D WITH LINE BELOW → LATIN CAPITAL LETTER D -1E10; 0044 # Ḑ → D LATIN CAPITAL LETTER D WITH CEDILLA → LATIN CAPITAL LETTER D -1E12; 0044 # Ḓ → D LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW → LATIN CAPITAL LETTER D -00C8; 0045 # È → E LATIN CAPITAL LETTER E WITH GRAVE → LATIN CAPITAL LETTER E -00C9; 0045 # É → E LATIN CAPITAL LETTER E WITH ACUTE → LATIN CAPITAL LETTER E -00CA; 0045 # Ê → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX → LATIN CAPITAL LETTER E -00CB; 0045 # Ë → E LATIN CAPITAL LETTER E WITH DIAERESIS → LATIN CAPITAL LETTER E -0112; 0045 # Ē → E LATIN CAPITAL LETTER E WITH MACRON → LATIN CAPITAL LETTER E -0114; 0045 # Ĕ → E LATIN CAPITAL LETTER E WITH BREVE → LATIN CAPITAL LETTER E -0116; 0045 # Ė → E LATIN CAPITAL LETTER E WITH DOT ABOVE → LATIN CAPITAL LETTER E -0118; 0045 # Ę → E LATIN CAPITAL LETTER E WITH OGONEK → LATIN CAPITAL LETTER E -011A; 0045 # Ě → E LATIN CAPITAL LETTER E WITH CARON → LATIN CAPITAL LETTER E -0204; 0045 # Ȅ → E LATIN CAPITAL LETTER E WITH DOUBLE GRAVE → LATIN CAPITAL LETTER E -0206; 0045 # Ȇ → E LATIN CAPITAL LETTER E WITH INVERTED BREVE → LATIN CAPITAL LETTER E -0228; 0045 # Ȩ → E LATIN CAPITAL LETTER E WITH CEDILLA → LATIN CAPITAL LETTER E -1E14; 0045 # Ḕ → E LATIN CAPITAL LETTER E WITH MACRON AND GRAVE → LATIN CAPITAL LETTER E -1E16; 0045 # Ḗ → E LATIN CAPITAL LETTER E WITH MACRON AND ACUTE → LATIN CAPITAL LETTER E -1E18; 0045 # Ḙ → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW → LATIN CAPITAL LETTER E -1E1A; 0045 # Ḛ → E LATIN CAPITAL LETTER E WITH TILDE BELOW → LATIN CAPITAL LETTER E -1E1C; 0045 # Ḝ → E LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE → LATIN CAPITAL LETTER E -1EB8; 0045 # Ẹ → E LATIN CAPITAL LETTER E WITH DOT BELOW → LATIN CAPITAL LETTER E -1EBA; 0045 # Ẻ → E LATIN CAPITAL LETTER E WITH HOOK ABOVE → LATIN CAPITAL LETTER E -1EBC; 0045 # Ẽ → E LATIN CAPITAL LETTER E WITH TILDE → LATIN CAPITAL LETTER E -1EBE; 0045 # Ế → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE → LATIN CAPITAL LETTER E -1EC0; 0045 # Ề → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE → LATIN CAPITAL LETTER E -1EC2; 0045 # Ể → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE → LATIN CAPITAL LETTER E -1EC4; 0045 # Ễ → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE → LATIN CAPITAL LETTER E -1EC6; 0045 # Ệ → E LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW → LATIN CAPITAL LETTER E -0191; 0046 # Ƒ → F LATIN CAPITAL LETTER F WITH HOOK → LATIN CAPITAL LETTER F -1E1E; 0046 # Ḟ → F LATIN CAPITAL LETTER F WITH DOT ABOVE → LATIN CAPITAL LETTER F -011C; 0047 # Ĝ → G LATIN CAPITAL LETTER G WITH CIRCUMFLEX → LATIN CAPITAL LETTER G -011E; 0047 # Ğ → G LATIN CAPITAL LETTER G WITH BREVE → LATIN CAPITAL LETTER G -0120; 0047 # Ġ → G LATIN CAPITAL LETTER G WITH DOT ABOVE → LATIN CAPITAL LETTER G -0122; 0047 # Ģ → G LATIN CAPITAL LETTER G WITH CEDILLA → LATIN CAPITAL LETTER G -0193; 0047 # Ɠ → G LATIN CAPITAL LETTER G WITH HOOK → LATIN CAPITAL LETTER G -01E4; 0047 # Ǥ → G LATIN CAPITAL LETTER G WITH STROKE → LATIN CAPITAL LETTER G -01E6; 0047 # Ǧ → G LATIN CAPITAL LETTER G WITH CARON → LATIN CAPITAL LETTER G -01F4; 0047 # Ǵ → G LATIN CAPITAL LETTER G WITH ACUTE → LATIN CAPITAL LETTER G -1E20; 0047 # Ḡ → G LATIN CAPITAL LETTER G WITH MACRON → LATIN CAPITAL LETTER G -0124; 0048 # Ĥ → H LATIN CAPITAL LETTER H WITH CIRCUMFLEX → LATIN CAPITAL LETTER H -0126; 0048 # Ħ → H LATIN CAPITAL LETTER H WITH STROKE → LATIN CAPITAL LETTER H -021E; 0048 # Ȟ → H LATIN CAPITAL LETTER H WITH CARON → LATIN CAPITAL LETTER H -1E22; 0048 # Ḣ → H LATIN CAPITAL LETTER H WITH DOT ABOVE → LATIN CAPITAL LETTER H -1E24; 0048 # Ḥ → H LATIN CAPITAL LETTER H WITH DOT BELOW → LATIN CAPITAL LETTER H -1E26; 0048 # Ḧ → H LATIN CAPITAL LETTER H WITH DIAERESIS → LATIN CAPITAL LETTER H -1E28; 0048 # Ḩ → H LATIN CAPITAL LETTER H WITH CEDILLA → LATIN CAPITAL LETTER H -1E2A; 0048 # Ḫ → H LATIN CAPITAL LETTER H WITH BREVE BELOW → LATIN CAPITAL LETTER H -00CC; 0049 # Ì → I LATIN CAPITAL LETTER I WITH GRAVE → LATIN CAPITAL LETTER I -00CD; 0049 # Í → I LATIN CAPITAL LETTER I WITH ACUTE → LATIN CAPITAL LETTER I -00CE; 0049 # Î → I LATIN CAPITAL LETTER I WITH CIRCUMFLEX → LATIN CAPITAL LETTER I -00CF; 0049 # Ï → I LATIN CAPITAL LETTER I WITH DIAERESIS → LATIN CAPITAL LETTER I -0128; 0049 # Ĩ → I LATIN CAPITAL LETTER I WITH TILDE → LATIN CAPITAL LETTER I -012A; 0049 # Ī → I LATIN CAPITAL LETTER I WITH MACRON → LATIN CAPITAL LETTER I -012C; 0049 # Ĭ → I LATIN CAPITAL LETTER I WITH BREVE → LATIN CAPITAL LETTER I -012E; 0049 # Į → I LATIN CAPITAL LETTER I WITH OGONEK → LATIN CAPITAL LETTER I -0130; 0049 # İ → I LATIN CAPITAL LETTER I WITH DOT ABOVE → LATIN CAPITAL LETTER I -0197; 0049 # Ɨ → I LATIN CAPITAL LETTER I WITH STROKE → LATIN CAPITAL LETTER I -01CF; 0049 # Ǐ → I LATIN CAPITAL LETTER I WITH CARON → LATIN CAPITAL LETTER I -0208; 0049 # Ȉ → I LATIN CAPITAL LETTER I WITH DOUBLE GRAVE → LATIN CAPITAL LETTER I -020A; 0049 # Ȋ → I LATIN CAPITAL LETTER I WITH INVERTED BREVE → LATIN CAPITAL LETTER I -1E2C; 0049 # Ḭ → I LATIN CAPITAL LETTER I WITH TILDE BELOW → LATIN CAPITAL LETTER I -1E2E; 0049 # Ḯ → I LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE → LATIN CAPITAL LETTER I -1EC8; 0049 # Ỉ → I LATIN CAPITAL LETTER I WITH HOOK ABOVE → LATIN CAPITAL LETTER I -1ECA; 0049 # Ị → I LATIN CAPITAL LETTER I WITH DOT BELOW → LATIN CAPITAL LETTER I -0134; 004A # Ĵ → J LATIN CAPITAL LETTER J WITH CIRCUMFLEX → LATIN CAPITAL LETTER J -0136; 004B # Ķ → K LATIN CAPITAL LETTER K WITH CEDILLA → LATIN CAPITAL LETTER K -0198; 004B # Ƙ → K LATIN CAPITAL LETTER K WITH HOOK → LATIN CAPITAL LETTER K -01E8; 004B # Ǩ → K LATIN CAPITAL LETTER K WITH CARON → LATIN CAPITAL LETTER K -1E30; 004B # Ḱ → K LATIN CAPITAL LETTER K WITH ACUTE → LATIN CAPITAL LETTER K -1E32; 004B # Ḳ → K LATIN CAPITAL LETTER K WITH DOT BELOW → LATIN CAPITAL LETTER K -1E34; 004B # Ḵ → K LATIN CAPITAL LETTER K WITH LINE BELOW → LATIN CAPITAL LETTER K -0139; 004C # Ĺ → L LATIN CAPITAL LETTER L WITH ACUTE → LATIN CAPITAL LETTER L -013B; 004C # Ļ → L LATIN CAPITAL LETTER L WITH CEDILLA → LATIN CAPITAL LETTER L -013D; 004C # Ľ → L LATIN CAPITAL LETTER L WITH CARON → LATIN CAPITAL LETTER L -0141; 004C # Ł → L LATIN CAPITAL LETTER L WITH STROKE → LATIN CAPITAL LETTER L -1E36; 004C # Ḷ → L LATIN CAPITAL LETTER L WITH DOT BELOW → LATIN CAPITAL LETTER L -1E38; 004C # Ḹ → L LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON → LATIN CAPITAL LETTER L -1E3A; 004C # Ḻ → L LATIN CAPITAL LETTER L WITH LINE BELOW → LATIN CAPITAL LETTER L -1E3C; 004C # Ḽ → L LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW → LATIN CAPITAL LETTER L -1E3E; 004D # Ḿ → M LATIN CAPITAL LETTER M WITH ACUTE → LATIN CAPITAL LETTER M -1E40; 004D # Ṁ → M LATIN CAPITAL LETTER M WITH DOT ABOVE → LATIN CAPITAL LETTER M -1E42; 004D # Ṃ → M LATIN CAPITAL LETTER M WITH DOT BELOW → LATIN CAPITAL LETTER M -00D1; 004E # Ñ → N LATIN CAPITAL LETTER N WITH TILDE → LATIN CAPITAL LETTER N -0143; 004E # Ń → N LATIN CAPITAL LETTER N WITH ACUTE → LATIN CAPITAL LETTER N -0145; 004E # Ņ → N LATIN CAPITAL LETTER N WITH CEDILLA → LATIN CAPITAL LETTER N -0147; 004E # Ň → N LATIN CAPITAL LETTER N WITH CARON → LATIN CAPITAL LETTER N -019D; 004E # Ɲ → N LATIN CAPITAL LETTER N WITH LEFT HOOK → LATIN CAPITAL LETTER N -01F8; 004E # Ǹ → N LATIN CAPITAL LETTER N WITH GRAVE → LATIN CAPITAL LETTER N -0220; 004E # Ƞ → N LATIN CAPITAL LETTER N WITH LONG RIGHT LEG → LATIN CAPITAL LETTER N -1E44; 004E # Ṅ → N LATIN CAPITAL LETTER N WITH DOT ABOVE → LATIN CAPITAL LETTER N -1E46; 004E # Ṇ → N LATIN CAPITAL LETTER N WITH DOT BELOW → LATIN CAPITAL LETTER N -1E48; 004E # Ṉ → N LATIN CAPITAL LETTER N WITH LINE BELOW → LATIN CAPITAL LETTER N -1E4A; 004E # Ṋ → N LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW → LATIN CAPITAL LETTER N -00D2; 004F # Ò → O LATIN CAPITAL LETTER O WITH GRAVE → LATIN CAPITAL LETTER O -00D3; 004F # Ó → O LATIN CAPITAL LETTER O WITH ACUTE → LATIN CAPITAL LETTER O -00D4; 004F # Ô → O LATIN CAPITAL LETTER O WITH CIRCUMFLEX → LATIN CAPITAL LETTER O -00D5; 004F # Õ → O LATIN CAPITAL LETTER O WITH TILDE → LATIN CAPITAL LETTER O -00D6; 004F # Ö → O LATIN CAPITAL LETTER O WITH DIAERESIS → LATIN CAPITAL LETTER O -00D8; 004F # Ø → O LATIN CAPITAL LETTER O WITH STROKE → LATIN CAPITAL LETTER O -014C; 004F # Ō → O LATIN CAPITAL LETTER O WITH MACRON → LATIN CAPITAL LETTER O -014E; 004F # Ŏ → O LATIN CAPITAL LETTER O WITH BREVE → LATIN CAPITAL LETTER O -0150; 004F # Ő → O LATIN CAPITAL LETTER O WITH DOUBLE ACUTE → LATIN CAPITAL LETTER O -019F; 004F # Ɵ → O LATIN CAPITAL LETTER O WITH MIDDLE TILDE → LATIN CAPITAL LETTER O -01A0; 004F # Ơ → O LATIN CAPITAL LETTER O WITH HORN → LATIN CAPITAL LETTER O -01D1; 004F # Ǒ → O LATIN CAPITAL LETTER O WITH CARON → LATIN CAPITAL LETTER O -01EA; 004F # Ǫ → O LATIN CAPITAL LETTER O WITH OGONEK → LATIN CAPITAL LETTER O -01EC; 004F # Ǭ → O LATIN CAPITAL LETTER O WITH OGONEK AND MACRON → LATIN CAPITAL LETTER O -01FE; 004F # Ǿ → O LATIN CAPITAL LETTER O WITH STROKE AND ACUTE → LATIN CAPITAL LETTER O -020C; 004F # Ȍ → O LATIN CAPITAL LETTER O WITH DOUBLE GRAVE → LATIN CAPITAL LETTER O -020E; 004F # Ȏ → O LATIN CAPITAL LETTER O WITH INVERTED BREVE → LATIN CAPITAL LETTER O -022A; 004F # Ȫ → O LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON → LATIN CAPITAL LETTER O -022C; 004F # Ȭ → O LATIN CAPITAL LETTER O WITH TILDE AND MACRON → LATIN CAPITAL LETTER O -022E; 004F # Ȯ → O LATIN CAPITAL LETTER O WITH DOT ABOVE → LATIN CAPITAL LETTER O -0230; 004F # Ȱ → O LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON → LATIN CAPITAL LETTER O -1E4C; 004F # Ṍ → O LATIN CAPITAL LETTER O WITH TILDE AND ACUTE → LATIN CAPITAL LETTER O -1E4E; 004F # Ṏ → O LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS → LATIN CAPITAL LETTER O -1E50; 004F # Ṑ → O LATIN CAPITAL LETTER O WITH MACRON AND GRAVE → LATIN CAPITAL LETTER O -1E52; 004F # Ṓ → O LATIN CAPITAL LETTER O WITH MACRON AND ACUTE → LATIN CAPITAL LETTER O -1ECC; 004F # Ọ → O LATIN CAPITAL LETTER O WITH DOT BELOW → LATIN CAPITAL LETTER O -1ECE; 004F # Ỏ → O LATIN CAPITAL LETTER O WITH HOOK ABOVE → LATIN CAPITAL LETTER O -1ED0; 004F # Ố → O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE → LATIN CAPITAL LETTER O -1ED2; 004F # Ồ → O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE → LATIN CAPITAL LETTER O -1ED4; 004F # Ổ → O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE → LATIN CAPITAL LETTER O -1ED6; 004F # Ỗ → O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE → LATIN CAPITAL LETTER O -1ED8; 004F # Ộ → O LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW → LATIN CAPITAL LETTER O -1EDA; 004F # Ớ → O LATIN CAPITAL LETTER O WITH HORN AND ACUTE → LATIN CAPITAL LETTER O -1EDC; 004F # Ờ → O LATIN CAPITAL LETTER O WITH HORN AND GRAVE → LATIN CAPITAL LETTER O -1EDE; 004F # Ở → O LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE → LATIN CAPITAL LETTER O -1EE0; 004F # Ỡ → O LATIN CAPITAL LETTER O WITH HORN AND TILDE → LATIN CAPITAL LETTER O -1EE2; 004F # Ợ → O LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW → LATIN CAPITAL LETTER O -01A4; 0050 # Ƥ → P LATIN CAPITAL LETTER P WITH HOOK → LATIN CAPITAL LETTER P -1E54; 0050 # Ṕ → P LATIN CAPITAL LETTER P WITH ACUTE → LATIN CAPITAL LETTER P -1E56; 0050 # Ṗ → P LATIN CAPITAL LETTER P WITH DOT ABOVE → LATIN CAPITAL LETTER P -0154; 0052 # Ŕ → R LATIN CAPITAL LETTER R WITH ACUTE → LATIN CAPITAL LETTER R -0156; 0052 # Ŗ → R LATIN CAPITAL LETTER R WITH CEDILLA → LATIN CAPITAL LETTER R -0158; 0052 # Ř → R LATIN CAPITAL LETTER R WITH CARON → LATIN CAPITAL LETTER R -0210; 0052 # Ȑ → R LATIN CAPITAL LETTER R WITH DOUBLE GRAVE → LATIN CAPITAL LETTER R -0212; 0052 # Ȓ → R LATIN CAPITAL LETTER R WITH INVERTED BREVE → LATIN CAPITAL LETTER R -1E58; 0052 # Ṙ → R LATIN CAPITAL LETTER R WITH DOT ABOVE → LATIN CAPITAL LETTER R -1E5A; 0052 # Ṛ → R LATIN CAPITAL LETTER R WITH DOT BELOW → LATIN CAPITAL LETTER R -1E5C; 0052 # Ṝ → R LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON → LATIN CAPITAL LETTER R -1E5E; 0052 # Ṟ → R LATIN CAPITAL LETTER R WITH LINE BELOW → LATIN CAPITAL LETTER R -015A; 0053 # Ś → S LATIN CAPITAL LETTER S WITH ACUTE → LATIN CAPITAL LETTER S -015C; 0053 # Ŝ → S LATIN CAPITAL LETTER S WITH CIRCUMFLEX → LATIN CAPITAL LETTER S -015E; 0053 # Ş → S LATIN CAPITAL LETTER S WITH CEDILLA → LATIN CAPITAL LETTER S -0160; 0053 # Š → S LATIN CAPITAL LETTER S WITH CARON → LATIN CAPITAL LETTER S -0218; 0053 # Ș → S LATIN CAPITAL LETTER S WITH COMMA BELOW → LATIN CAPITAL LETTER S -1E60; 0053 # Ṡ → S LATIN CAPITAL LETTER S WITH DOT ABOVE → LATIN CAPITAL LETTER S -1E62; 0053 # Ṣ → S LATIN CAPITAL LETTER S WITH DOT BELOW → LATIN CAPITAL LETTER S -1E64; 0053 # Ṥ → S LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE → LATIN CAPITAL LETTER S -1E66; 0053 # Ṧ → S LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE → LATIN CAPITAL LETTER S -1E68; 0053 # Ṩ → S LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE → LATIN CAPITAL LETTER S -0162; 0054 # Ţ → T LATIN CAPITAL LETTER T WITH CEDILLA → LATIN CAPITAL LETTER T -0164; 0054 # Ť → T LATIN CAPITAL LETTER T WITH CARON → LATIN CAPITAL LETTER T -0166; 0054 # Ŧ → T LATIN CAPITAL LETTER T WITH STROKE → LATIN CAPITAL LETTER T -01AC; 0054 # Ƭ → T LATIN CAPITAL LETTER T WITH HOOK → LATIN CAPITAL LETTER T -01AE; 0054 # Ʈ → T LATIN CAPITAL LETTER T WITH RETROFLEX HOOK → LATIN CAPITAL LETTER T -021A; 0054 # Ț → T LATIN CAPITAL LETTER T WITH COMMA BELOW → LATIN CAPITAL LETTER T -1E6A; 0054 # Ṫ → T LATIN CAPITAL LETTER T WITH DOT ABOVE → LATIN CAPITAL LETTER T -1E6C; 0054 # Ṭ → T LATIN CAPITAL LETTER T WITH DOT BELOW → LATIN CAPITAL LETTER T -1E6E; 0054 # Ṯ → T LATIN CAPITAL LETTER T WITH LINE BELOW → LATIN CAPITAL LETTER T -1E70; 0054 # Ṱ → T LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW → LATIN CAPITAL LETTER T -00D9; 0055 # Ù → U LATIN CAPITAL LETTER U WITH GRAVE → LATIN CAPITAL LETTER U -00DA; 0055 # Ú → U LATIN CAPITAL LETTER U WITH ACUTE → LATIN CAPITAL LETTER U -00DB; 0055 # Û → U LATIN CAPITAL LETTER U WITH CIRCUMFLEX → LATIN CAPITAL LETTER U -00DC; 0055 # Ü → U LATIN CAPITAL LETTER U WITH DIAERESIS → LATIN CAPITAL LETTER U -0168; 0055 # Ũ → U LATIN CAPITAL LETTER U WITH TILDE → LATIN CAPITAL LETTER U -016A; 0055 # Ū → U LATIN CAPITAL LETTER U WITH MACRON → LATIN CAPITAL LETTER U -016C; 0055 # Ŭ → U LATIN CAPITAL LETTER U WITH BREVE → LATIN CAPITAL LETTER U -016E; 0055 # Ů → U LATIN CAPITAL LETTER U WITH RING ABOVE → LATIN CAPITAL LETTER U -0170; 0055 # Ű → U LATIN CAPITAL LETTER U WITH DOUBLE ACUTE → LATIN CAPITAL LETTER U -0172; 0055 # Ų → U LATIN CAPITAL LETTER U WITH OGONEK → LATIN CAPITAL LETTER U -01AF; 0055 # Ư → U LATIN CAPITAL LETTER U WITH HORN → LATIN CAPITAL LETTER U -01D3; 0055 # Ǔ → U LATIN CAPITAL LETTER U WITH CARON → LATIN CAPITAL LETTER U -01D5; 0055 # Ǖ → U LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON → LATIN CAPITAL LETTER U -01D7; 0055 # Ǘ → U LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE → LATIN CAPITAL LETTER U -01D9; 0055 # Ǚ → U LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON → LATIN CAPITAL LETTER U -01DB; 0055 # Ǜ → U LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE → LATIN CAPITAL LETTER U -0214; 0055 # Ȕ → U LATIN CAPITAL LETTER U WITH DOUBLE GRAVE → LATIN CAPITAL LETTER U -0216; 0055 # Ȗ → U LATIN CAPITAL LETTER U WITH INVERTED BREVE → LATIN CAPITAL LETTER U -1E72; 0055 # Ṳ → U LATIN CAPITAL LETTER U WITH DIAERESIS BELOW → LATIN CAPITAL LETTER U -1E74; 0055 # Ṵ → U LATIN CAPITAL LETTER U WITH TILDE BELOW → LATIN CAPITAL LETTER U -1E76; 0055 # Ṷ → U LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW → LATIN CAPITAL LETTER U -1E78; 0055 # Ṹ → U LATIN CAPITAL LETTER U WITH TILDE AND ACUTE → LATIN CAPITAL LETTER U -1E7A; 0055 # Ṻ → U LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS → LATIN CAPITAL LETTER U -1EE4; 0055 # Ụ → U LATIN CAPITAL LETTER U WITH DOT BELOW → LATIN CAPITAL LETTER U -1EE6; 0055 # Ủ → U LATIN CAPITAL LETTER U WITH HOOK ABOVE → LATIN CAPITAL LETTER U -1EE8; 0055 # Ứ → U LATIN CAPITAL LETTER U WITH HORN AND ACUTE → LATIN CAPITAL LETTER U -1EEA; 0055 # Ừ → U LATIN CAPITAL LETTER U WITH HORN AND GRAVE → LATIN CAPITAL LETTER U -1EEC; 0055 # Ử → U LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE → LATIN CAPITAL LETTER U -1EEE; 0055 # Ữ → U LATIN CAPITAL LETTER U WITH HORN AND TILDE → LATIN CAPITAL LETTER U -1EF0; 0055 # Ự → U LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW → LATIN CAPITAL LETTER U -01B2; 0056 # Ʋ → V LATIN CAPITAL LETTER V WITH HOOK → LATIN CAPITAL LETTER V -1E7C; 0056 # Ṽ → V LATIN CAPITAL LETTER V WITH TILDE → LATIN CAPITAL LETTER V -1E7E; 0056 # Ṿ → V LATIN CAPITAL LETTER V WITH DOT BELOW → LATIN CAPITAL LETTER V -0174; 0057 # Ŵ → W LATIN CAPITAL LETTER W WITH CIRCUMFLEX → LATIN CAPITAL LETTER W -1E80; 0057 # Ẁ → W LATIN CAPITAL LETTER W WITH GRAVE → LATIN CAPITAL LETTER W -1E82; 0057 # Ẃ → W LATIN CAPITAL LETTER W WITH ACUTE → LATIN CAPITAL LETTER W -1E84; 0057 # Ẅ → W LATIN CAPITAL LETTER W WITH DIAERESIS → LATIN CAPITAL LETTER W -1E86; 0057 # Ẇ → W LATIN CAPITAL LETTER W WITH DOT ABOVE → LATIN CAPITAL LETTER W -1E88; 0057 # Ẉ → W LATIN CAPITAL LETTER W WITH DOT BELOW → LATIN CAPITAL LETTER W -1E8A; 0058 # Ẋ → X LATIN CAPITAL LETTER X WITH DOT ABOVE → LATIN CAPITAL LETTER X -1E8C; 0058 # Ẍ → X LATIN CAPITAL LETTER X WITH DIAERESIS → LATIN CAPITAL LETTER X -00DD; 0059 # Ý → Y LATIN CAPITAL LETTER Y WITH ACUTE → LATIN CAPITAL LETTER Y -0176; 0059 # Ŷ → Y LATIN CAPITAL LETTER Y WITH CIRCUMFLEX → LATIN CAPITAL LETTER Y -0178; 0059 # Ÿ → Y LATIN CAPITAL LETTER Y WITH DIAERESIS → LATIN CAPITAL LETTER Y -01B3; 0059 # Ƴ → Y LATIN CAPITAL LETTER Y WITH HOOK → LATIN CAPITAL LETTER Y -0232; 0059 # Ȳ → Y LATIN CAPITAL LETTER Y WITH MACRON → LATIN CAPITAL LETTER Y -1E8E; 0059 # Ẏ → Y LATIN CAPITAL LETTER Y WITH DOT ABOVE → LATIN CAPITAL LETTER Y -1EF2; 0059 # Ỳ → Y LATIN CAPITAL LETTER Y WITH GRAVE → LATIN CAPITAL LETTER Y -1EF4; 0059 # Ỵ → Y LATIN CAPITAL LETTER Y WITH DOT BELOW → LATIN CAPITAL LETTER Y -1EF6; 0059 # Ỷ → Y LATIN CAPITAL LETTER Y WITH HOOK ABOVE → LATIN CAPITAL LETTER Y -1EF8; 0059 # Ỹ → Y LATIN CAPITAL LETTER Y WITH TILDE → LATIN CAPITAL LETTER Y -0179; 005A # Ź → Z LATIN CAPITAL LETTER Z WITH ACUTE → LATIN CAPITAL LETTER Z -017B; 005A # Ż → Z LATIN CAPITAL LETTER Z WITH DOT ABOVE → LATIN CAPITAL LETTER Z -017D; 005A # Ž → Z LATIN CAPITAL LETTER Z WITH CARON → LATIN CAPITAL LETTER Z -01B5; 005A # Ƶ → Z LATIN CAPITAL LETTER Z WITH STROKE → LATIN CAPITAL LETTER Z -0224; 005A # Ȥ → Z LATIN CAPITAL LETTER Z WITH HOOK → LATIN CAPITAL LETTER Z -1E90; 005A # Ẑ → Z LATIN CAPITAL LETTER Z WITH CIRCUMFLEX → LATIN CAPITAL LETTER Z -1E92; 005A # Ẓ → Z LATIN CAPITAL LETTER Z WITH DOT BELOW → LATIN CAPITAL LETTER Z -1E94; 005A # Ẕ → Z LATIN CAPITAL LETTER Z WITH LINE BELOW → LATIN CAPITAL LETTER Z -00E0; 0061 # à → a LATIN SMALL LETTER A WITH GRAVE → LATIN SMALL LETTER A -00E1; 0061 # á → a LATIN SMALL LETTER A WITH ACUTE → LATIN SMALL LETTER A -00E2; 0061 # â → a LATIN SMALL LETTER A WITH CIRCUMFLEX → LATIN SMALL LETTER A -00E3; 0061 # ã → a LATIN SMALL LETTER A WITH TILDE → LATIN SMALL LETTER A -00E4; 0061 # ä → a LATIN SMALL LETTER A WITH DIAERESIS → LATIN SMALL LETTER A -00E5; 0061 # å → a LATIN SMALL LETTER A WITH RING ABOVE → LATIN SMALL LETTER A -0101; 0061 # ā → a LATIN SMALL LETTER A WITH MACRON → LATIN SMALL LETTER A -0103; 0061 # ă → a LATIN SMALL LETTER A WITH BREVE → LATIN SMALL LETTER A -0105; 0061 # ą → a LATIN SMALL LETTER A WITH OGONEK → LATIN SMALL LETTER A -01CE; 0061 # ǎ → a LATIN SMALL LETTER A WITH CARON → LATIN SMALL LETTER A -01DF; 0061 # ǟ → a LATIN SMALL LETTER A WITH DIAERESIS AND MACRON → LATIN SMALL LETTER A -01E1; 0061 # ǡ → a LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON → LATIN SMALL LETTER A -01FB; 0061 # ǻ → a LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE → LATIN SMALL LETTER A -0201; 0061 # ȁ → a LATIN SMALL LETTER A WITH DOUBLE GRAVE → LATIN SMALL LETTER A -0203; 0061 # ȃ → a LATIN SMALL LETTER A WITH INVERTED BREVE → LATIN SMALL LETTER A -0227; 0061 # ȧ → a LATIN SMALL LETTER A WITH DOT ABOVE → LATIN SMALL LETTER A -1E01; 0061 # ḁ → a LATIN SMALL LETTER A WITH RING BELOW → LATIN SMALL LETTER A -1E9A; 0061 # ẚ → a LATIN SMALL LETTER A WITH RIGHT HALF RING → LATIN SMALL LETTER A -1EA1; 0061 # ạ → a LATIN SMALL LETTER A WITH DOT BELOW → LATIN SMALL LETTER A -1EA3; 0061 # ả → a LATIN SMALL LETTER A WITH HOOK ABOVE → LATIN SMALL LETTER A -1EA5; 0061 # ấ → a LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE → LATIN SMALL LETTER A -1EA7; 0061 # ầ → a LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE → LATIN SMALL LETTER A -1EA9; 0061 # ẩ → a LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE → LATIN SMALL LETTER A -1EAB; 0061 # ẫ → a LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE → LATIN SMALL LETTER A -1EAD; 0061 # ậ → a LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW → LATIN SMALL LETTER A -1EAF; 0061 # ắ → a LATIN SMALL LETTER A WITH BREVE AND ACUTE → LATIN SMALL LETTER A -1EB1; 0061 # ằ → a LATIN SMALL LETTER A WITH BREVE AND GRAVE → LATIN SMALL LETTER A -1EB3; 0061 # ẳ → a LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE → LATIN SMALL LETTER A -1EB5; 0061 # ẵ → a LATIN SMALL LETTER A WITH BREVE AND TILDE → LATIN SMALL LETTER A -1EB7; 0061 # ặ → a LATIN SMALL LETTER A WITH BREVE AND DOT BELOW → LATIN SMALL LETTER A -0180; 0062 # ƀ → b LATIN SMALL LETTER B WITH STROKE → LATIN SMALL LETTER B -0183; 0062 # ƃ → b LATIN SMALL LETTER B WITH TOPBAR → LATIN SMALL LETTER B -0253; 0062 # ɓ → b LATIN SMALL LETTER B WITH HOOK → LATIN SMALL LETTER B -1E03; 0062 # ḃ → b LATIN SMALL LETTER B WITH DOT ABOVE → LATIN SMALL LETTER B -1E05; 0062 # ḅ → b LATIN SMALL LETTER B WITH DOT BELOW → LATIN SMALL LETTER B -1E07; 0062 # ḇ → b LATIN SMALL LETTER B WITH LINE BELOW → LATIN SMALL LETTER B -00E7; 0063 # ç → c LATIN SMALL LETTER C WITH CEDILLA → LATIN SMALL LETTER C -0107; 0063 # ć → c LATIN SMALL LETTER C WITH ACUTE → LATIN SMALL LETTER C -0109; 0063 # ĉ → c LATIN SMALL LETTER C WITH CIRCUMFLEX → LATIN SMALL LETTER C -010B; 0063 # ċ → c LATIN SMALL LETTER C WITH DOT ABOVE → LATIN SMALL LETTER C -010D; 0063 # č → c LATIN SMALL LETTER C WITH CARON → LATIN SMALL LETTER C -0188; 0063 # ƈ → c LATIN SMALL LETTER C WITH HOOK → LATIN SMALL LETTER C -0255; 0063 # ɕ → c LATIN SMALL LETTER C WITH CURL → LATIN SMALL LETTER C -1E09; 0063 # ḉ → c LATIN SMALL LETTER C WITH CEDILLA AND ACUTE → LATIN SMALL LETTER C -010F; 0064 # ď → d LATIN SMALL LETTER D WITH CARON → LATIN SMALL LETTER D -0111; 0064 # đ → d LATIN SMALL LETTER D WITH STROKE → LATIN SMALL LETTER D -018C; 0064 # ƌ → d LATIN SMALL LETTER D WITH TOPBAR → LATIN SMALL LETTER D -0221; 0064 # ȡ → d LATIN SMALL LETTER D WITH CURL → LATIN SMALL LETTER D -0256; 0064 # ɖ → d LATIN SMALL LETTER D WITH TAIL → LATIN SMALL LETTER D -0257; 0064 # ɗ → d LATIN SMALL LETTER D WITH HOOK → LATIN SMALL LETTER D -1E0B; 0064 # ḋ → d LATIN SMALL LETTER D WITH DOT ABOVE → LATIN SMALL LETTER D -1E0D; 0064 # ḍ → d LATIN SMALL LETTER D WITH DOT BELOW → LATIN SMALL LETTER D -1E0F; 0064 # ḏ → d LATIN SMALL LETTER D WITH LINE BELOW → LATIN SMALL LETTER D -1E11; 0064 # ḑ → d LATIN SMALL LETTER D WITH CEDILLA → LATIN SMALL LETTER D -1E13; 0064 # ḓ → d LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW → LATIN SMALL LETTER D -00E8; 0065 # è → e LATIN SMALL LETTER E WITH GRAVE → LATIN SMALL LETTER E -00E9; 0065 # é → e LATIN SMALL LETTER E WITH ACUTE → LATIN SMALL LETTER E -00EA; 0065 # ê → e LATIN SMALL LETTER E WITH CIRCUMFLEX → LATIN SMALL LETTER E -00EB; 0065 # ë → e LATIN SMALL LETTER E WITH DIAERESIS → LATIN SMALL LETTER E -0113; 0065 # ē → e LATIN SMALL LETTER E WITH MACRON → LATIN SMALL LETTER E -0115; 0065 # ĕ → e LATIN SMALL LETTER E WITH BREVE → LATIN SMALL LETTER E -0117; 0065 # ė → e LATIN SMALL LETTER E WITH DOT ABOVE → LATIN SMALL LETTER E -0119; 0065 # ę → e LATIN SMALL LETTER E WITH OGONEK → LATIN SMALL LETTER E -011B; 0065 # ě → e LATIN SMALL LETTER E WITH CARON → LATIN SMALL LETTER E -0205; 0065 # ȅ → e LATIN SMALL LETTER E WITH DOUBLE GRAVE → LATIN SMALL LETTER E -0207; 0065 # ȇ → e LATIN SMALL LETTER E WITH INVERTED BREVE → LATIN SMALL LETTER E -0229; 0065 # ȩ → e LATIN SMALL LETTER E WITH CEDILLA → LATIN SMALL LETTER E -1E15; 0065 # ḕ → e LATIN SMALL LETTER E WITH MACRON AND GRAVE → LATIN SMALL LETTER E -1E17; 0065 # ḗ → e LATIN SMALL LETTER E WITH MACRON AND ACUTE → LATIN SMALL LETTER E -1E19; 0065 # ḙ → e LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW → LATIN SMALL LETTER E -1E1B; 0065 # ḛ → e LATIN SMALL LETTER E WITH TILDE BELOW → LATIN SMALL LETTER E -1E1D; 0065 # ḝ → e LATIN SMALL LETTER E WITH CEDILLA AND BREVE → LATIN SMALL LETTER E -1EB9; 0065 # ẹ → e LATIN SMALL LETTER E WITH DOT BELOW → LATIN SMALL LETTER E -1EBB; 0065 # ẻ → e LATIN SMALL LETTER E WITH HOOK ABOVE → LATIN SMALL LETTER E -1EBD; 0065 # ẽ → e LATIN SMALL LETTER E WITH TILDE → LATIN SMALL LETTER E -1EBF; 0065 # ế → e LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE → LATIN SMALL LETTER E -1EC1; 0065 # ề → e LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE → LATIN SMALL LETTER E -1EC3; 0065 # ể → e LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE → LATIN SMALL LETTER E -1EC5; 0065 # ễ → e LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE → LATIN SMALL LETTER E -1EC7; 0065 # ệ → e LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW → LATIN SMALL LETTER E -0192; 0066 # ƒ → f LATIN SMALL LETTER F WITH HOOK → LATIN SMALL LETTER F -1E1F; 0066 # ḟ → f LATIN SMALL LETTER F WITH DOT ABOVE → LATIN SMALL LETTER F -011D; 0067 # ĝ → g LATIN SMALL LETTER G WITH CIRCUMFLEX → LATIN SMALL LETTER G -011F; 0067 # ğ → g LATIN SMALL LETTER G WITH BREVE → LATIN SMALL LETTER G -0121; 0067 # ġ → g LATIN SMALL LETTER G WITH DOT ABOVE → LATIN SMALL LETTER G -0123; 0067 # ģ → g LATIN SMALL LETTER G WITH CEDILLA → LATIN SMALL LETTER G -01E5; 0067 # ǥ → g LATIN SMALL LETTER G WITH STROKE → LATIN SMALL LETTER G -01E7; 0067 # ǧ → g LATIN SMALL LETTER G WITH CARON → LATIN SMALL LETTER G -01F5; 0067 # ǵ → g LATIN SMALL LETTER G WITH ACUTE → LATIN SMALL LETTER G -0260; 0067 # ɠ → g LATIN SMALL LETTER G WITH HOOK → LATIN SMALL LETTER G -1E21; 0067 # ḡ → g LATIN SMALL LETTER G WITH MACRON → LATIN SMALL LETTER G -0125; 0068 # ĥ → h LATIN SMALL LETTER H WITH CIRCUMFLEX → LATIN SMALL LETTER H -0127; 0068 # ħ → h LATIN SMALL LETTER H WITH STROKE → LATIN SMALL LETTER H -021F; 0068 # ȟ → h LATIN SMALL LETTER H WITH CARON → LATIN SMALL LETTER H -0266; 0068 # ɦ → h LATIN SMALL LETTER H WITH HOOK → LATIN SMALL LETTER H -1E23; 0068 # ḣ → h LATIN SMALL LETTER H WITH DOT ABOVE → LATIN SMALL LETTER H -1E25; 0068 # ḥ → h LATIN SMALL LETTER H WITH DOT BELOW → LATIN SMALL LETTER H -1E27; 0068 # ḧ → h LATIN SMALL LETTER H WITH DIAERESIS → LATIN SMALL LETTER H -1E29; 0068 # ḩ → h LATIN SMALL LETTER H WITH CEDILLA → LATIN SMALL LETTER H -1E2B; 0068 # ḫ → h LATIN SMALL LETTER H WITH BREVE BELOW → LATIN SMALL LETTER H -1E96; 0068 # ẖ → h LATIN SMALL LETTER H WITH LINE BELOW → LATIN SMALL LETTER H -00EC; 0069 # ì → i LATIN SMALL LETTER I WITH GRAVE → LATIN SMALL LETTER I -00ED; 0069 # í → i LATIN SMALL LETTER I WITH ACUTE → LATIN SMALL LETTER I -00EE; 0069 # î → i LATIN SMALL LETTER I WITH CIRCUMFLEX → LATIN SMALL LETTER I -00EF; 0069 # ï → i LATIN SMALL LETTER I WITH DIAERESIS → LATIN SMALL LETTER I -0129; 0069 # ĩ → i LATIN SMALL LETTER I WITH TILDE → LATIN SMALL LETTER I -012B; 0069 # ī → i LATIN SMALL LETTER I WITH MACRON → LATIN SMALL LETTER I -012D; 0069 # ĭ → i LATIN SMALL LETTER I WITH BREVE → LATIN SMALL LETTER I -012F; 0069 # į → i LATIN SMALL LETTER I WITH OGONEK → LATIN SMALL LETTER I -01D0; 0069 # ǐ → i LATIN SMALL LETTER I WITH CARON → LATIN SMALL LETTER I -0209; 0069 # ȉ → i LATIN SMALL LETTER I WITH DOUBLE GRAVE → LATIN SMALL LETTER I -020B; 0069 # ȋ → i LATIN SMALL LETTER I WITH INVERTED BREVE → LATIN SMALL LETTER I -0268; 0069 # ɨ → i LATIN SMALL LETTER I WITH STROKE → LATIN SMALL LETTER I -1E2D; 0069 # ḭ → i LATIN SMALL LETTER I WITH TILDE BELOW → LATIN SMALL LETTER I -1E2F; 0069 # ḯ → i LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE → LATIN SMALL LETTER I -1EC9; 0069 # ỉ → i LATIN SMALL LETTER I WITH HOOK ABOVE → LATIN SMALL LETTER I -1ECB; 0069 # ị → i LATIN SMALL LETTER I WITH DOT BELOW → LATIN SMALL LETTER I -0135; 006A # ĵ → j LATIN SMALL LETTER J WITH CIRCUMFLEX → LATIN SMALL LETTER J -01F0; 006A # ǰ → j LATIN SMALL LETTER J WITH CARON → LATIN SMALL LETTER J -029D; 006A # ʝ → j LATIN SMALL LETTER J WITH CROSSED-TAIL → LATIN SMALL LETTER J -0137; 006B # ķ → k LATIN SMALL LETTER K WITH CEDILLA → LATIN SMALL LETTER K -0199; 006B # ƙ → k LATIN SMALL LETTER K WITH HOOK → LATIN SMALL LETTER K -01E9; 006B # ǩ → k LATIN SMALL LETTER K WITH CARON → LATIN SMALL LETTER K -1E31; 006B # ḱ → k LATIN SMALL LETTER K WITH ACUTE → LATIN SMALL LETTER K -1E33; 006B # ḳ → k LATIN SMALL LETTER K WITH DOT BELOW → LATIN SMALL LETTER K -1E35; 006B # ḵ → k LATIN SMALL LETTER K WITH LINE BELOW → LATIN SMALL LETTER K -013A; 006C # ĺ → l LATIN SMALL LETTER L WITH ACUTE → LATIN SMALL LETTER L -013C; 006C # ļ → l LATIN SMALL LETTER L WITH CEDILLA → LATIN SMALL LETTER L -013E; 006C # ľ → l LATIN SMALL LETTER L WITH CARON → LATIN SMALL LETTER L -0140; 006C # ŀ → l LATIN SMALL LETTER L WITH MIDDLE DOT → LATIN SMALL LETTER L -0142; 006C # ł → l LATIN SMALL LETTER L WITH STROKE → LATIN SMALL LETTER L -019A; 006C # ƚ → l LATIN SMALL LETTER L WITH BAR → LATIN SMALL LETTER L -0234; 006C # ȴ → l LATIN SMALL LETTER L WITH CURL → LATIN SMALL LETTER L -026B; 006C # ɫ → l LATIN SMALL LETTER L WITH MIDDLE TILDE → LATIN SMALL LETTER L -026C; 006C # ɬ → l LATIN SMALL LETTER L WITH BELT → LATIN SMALL LETTER L -026D; 006C # ɭ → l LATIN SMALL LETTER L WITH RETROFLEX HOOK → LATIN SMALL LETTER L -1E37; 006C # ḷ → l LATIN SMALL LETTER L WITH DOT BELOW → LATIN SMALL LETTER L -1E39; 006C # ḹ → l LATIN SMALL LETTER L WITH DOT BELOW AND MACRON → LATIN SMALL LETTER L -1E3B; 006C # ḻ → l LATIN SMALL LETTER L WITH LINE BELOW → LATIN SMALL LETTER L -1E3D; 006C # ḽ → l LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW → LATIN SMALL LETTER L -0271; 006D # ɱ → m LATIN SMALL LETTER M WITH HOOK → LATIN SMALL LETTER M -1E3F; 006D # ḿ → m LATIN SMALL LETTER M WITH ACUTE → LATIN SMALL LETTER M -1E41; 006D # ṁ → m LATIN SMALL LETTER M WITH DOT ABOVE → LATIN SMALL LETTER M -1E43; 006D # ṃ → m LATIN SMALL LETTER M WITH DOT BELOW → LATIN SMALL LETTER M -00F1; 006E # ñ → n LATIN SMALL LETTER N WITH TILDE → LATIN SMALL LETTER N -0144; 006E # ń → n LATIN SMALL LETTER N WITH ACUTE → LATIN SMALL LETTER N -0146; 006E # ņ → n LATIN SMALL LETTER N WITH CEDILLA → LATIN SMALL LETTER N -0148; 006E # ň → n LATIN SMALL LETTER N WITH CARON → LATIN SMALL LETTER N -019E; 006E # ƞ → n LATIN SMALL LETTER N WITH LONG RIGHT LEG → LATIN SMALL LETTER N -01F9; 006E # ǹ → n LATIN SMALL LETTER N WITH GRAVE → LATIN SMALL LETTER N -0235; 006E # ȵ → n LATIN SMALL LETTER N WITH CURL → LATIN SMALL LETTER N -0272; 006E # ɲ → n LATIN SMALL LETTER N WITH LEFT HOOK → LATIN SMALL LETTER N -0273; 006E # ɳ → n LATIN SMALL LETTER N WITH RETROFLEX HOOK → LATIN SMALL LETTER N -1E45; 006E # ṅ → n LATIN SMALL LETTER N WITH DOT ABOVE → LATIN SMALL LETTER N -1E47; 006E # ṇ → n LATIN SMALL LETTER N WITH DOT BELOW → LATIN SMALL LETTER N -1E49; 006E # ṉ → n LATIN SMALL LETTER N WITH LINE BELOW → LATIN SMALL LETTER N -1E4B; 006E # ṋ → n LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW → LATIN SMALL LETTER N -00F2; 006F # ò → o LATIN SMALL LETTER O WITH GRAVE → LATIN SMALL LETTER O -00F3; 006F # ó → o LATIN SMALL LETTER O WITH ACUTE → LATIN SMALL LETTER O -00F4; 006F # ô → o LATIN SMALL LETTER O WITH CIRCUMFLEX → LATIN SMALL LETTER O -00F5; 006F # õ → o LATIN SMALL LETTER O WITH TILDE → LATIN SMALL LETTER O -00F6; 006F # ö → o LATIN SMALL LETTER O WITH DIAERESIS → LATIN SMALL LETTER O -00F8; 006F # ø → o LATIN SMALL LETTER O WITH STROKE → LATIN SMALL LETTER O -014D; 006F # ō → o LATIN SMALL LETTER O WITH MACRON → LATIN SMALL LETTER O -014F; 006F # ŏ → o LATIN SMALL LETTER O WITH BREVE → LATIN SMALL LETTER O -0151; 006F # ő → o LATIN SMALL LETTER O WITH DOUBLE ACUTE → LATIN SMALL LETTER O -01A1; 006F # ơ → o LATIN SMALL LETTER O WITH HORN → LATIN SMALL LETTER O -01D2; 006F # ǒ → o LATIN SMALL LETTER O WITH CARON → LATIN SMALL LETTER O -01EB; 006F # ǫ → o LATIN SMALL LETTER O WITH OGONEK → LATIN SMALL LETTER O -01ED; 006F # ǭ → o LATIN SMALL LETTER O WITH OGONEK AND MACRON → LATIN SMALL LETTER O -01FF; 006F # ǿ → o LATIN SMALL LETTER O WITH STROKE AND ACUTE → LATIN SMALL LETTER O -020D; 006F # ȍ → o LATIN SMALL LETTER O WITH DOUBLE GRAVE → LATIN SMALL LETTER O -020F; 006F # ȏ → o LATIN SMALL LETTER O WITH INVERTED BREVE → LATIN SMALL LETTER O -022B; 006F # ȫ → o LATIN SMALL LETTER O WITH DIAERESIS AND MACRON → LATIN SMALL LETTER O -022D; 006F # ȭ → o LATIN SMALL LETTER O WITH TILDE AND MACRON → LATIN SMALL LETTER O -022F; 006F # ȯ → o LATIN SMALL LETTER O WITH DOT ABOVE → LATIN SMALL LETTER O -0231; 006F # ȱ → o LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON → LATIN SMALL LETTER O -1E4D; 006F # ṍ → o LATIN SMALL LETTER O WITH TILDE AND ACUTE → LATIN SMALL LETTER O -1E4F; 006F # ṏ → o LATIN SMALL LETTER O WITH TILDE AND DIAERESIS → LATIN SMALL LETTER O -1E51; 006F # ṑ → o LATIN SMALL LETTER O WITH MACRON AND GRAVE → LATIN SMALL LETTER O -1E53; 006F # ṓ → o LATIN SMALL LETTER O WITH MACRON AND ACUTE → LATIN SMALL LETTER O -1ECD; 006F # ọ → o LATIN SMALL LETTER O WITH DOT BELOW → LATIN SMALL LETTER O -1ECF; 006F # ỏ → o LATIN SMALL LETTER O WITH HOOK ABOVE → LATIN SMALL LETTER O -1ED1; 006F # ố → o LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE → LATIN SMALL LETTER O -1ED3; 006F # ồ → o LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE → LATIN SMALL LETTER O -1ED5; 006F # ổ → o LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE → LATIN SMALL LETTER O -1ED7; 006F # ỗ → o LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE → LATIN SMALL LETTER O -1ED9; 006F # ộ → o LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW → LATIN SMALL LETTER O -1EDB; 006F # ớ → o LATIN SMALL LETTER O WITH HORN AND ACUTE → LATIN SMALL LETTER O -1EDD; 006F # ờ → o LATIN SMALL LETTER O WITH HORN AND GRAVE → LATIN SMALL LETTER O -1EDF; 006F # ở → o LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE → LATIN SMALL LETTER O -1EE1; 006F # ỡ → o LATIN SMALL LETTER O WITH HORN AND TILDE → LATIN SMALL LETTER O -1EE3; 006F # ợ → o LATIN SMALL LETTER O WITH HORN AND DOT BELOW → LATIN SMALL LETTER O -01A5; 0070 # ƥ → p LATIN SMALL LETTER P WITH HOOK → LATIN SMALL LETTER P -1E55; 0070 # ṕ → p LATIN SMALL LETTER P WITH ACUTE → LATIN SMALL LETTER P -1E57; 0070 # ṗ → p LATIN SMALL LETTER P WITH DOT ABOVE → LATIN SMALL LETTER P -02A0; 0071 # ʠ → q LATIN SMALL LETTER Q WITH HOOK → LATIN SMALL LETTER Q -0155; 0072 # ŕ → r LATIN SMALL LETTER R WITH ACUTE → LATIN SMALL LETTER R -0157; 0072 # ŗ → r LATIN SMALL LETTER R WITH CEDILLA → LATIN SMALL LETTER R -0159; 0072 # ř → r LATIN SMALL LETTER R WITH CARON → LATIN SMALL LETTER R -0211; 0072 # ȑ → r LATIN SMALL LETTER R WITH DOUBLE GRAVE → LATIN SMALL LETTER R -0213; 0072 # ȓ → r LATIN SMALL LETTER R WITH INVERTED BREVE → LATIN SMALL LETTER R -027C; 0072 # ɼ → r LATIN SMALL LETTER R WITH LONG LEG → LATIN SMALL LETTER R -027D; 0072 # ɽ → r LATIN SMALL LETTER R WITH TAIL → LATIN SMALL LETTER R -1E59; 0072 # ṙ → r LATIN SMALL LETTER R WITH DOT ABOVE → LATIN SMALL LETTER R -1E5B; 0072 # ṛ → r LATIN SMALL LETTER R WITH DOT BELOW → LATIN SMALL LETTER R -1E5D; 0072 # ṝ → r LATIN SMALL LETTER R WITH DOT BELOW AND MACRON → LATIN SMALL LETTER R -1E5F; 0072 # ṟ → r LATIN SMALL LETTER R WITH LINE BELOW → LATIN SMALL LETTER R -015B; 0073 # ś → s LATIN SMALL LETTER S WITH ACUTE → LATIN SMALL LETTER S -015D; 0073 # ŝ → s LATIN SMALL LETTER S WITH CIRCUMFLEX → LATIN SMALL LETTER S -015F; 0073 # ş → s LATIN SMALL LETTER S WITH CEDILLA → LATIN SMALL LETTER S -0161; 0073 # š → s LATIN SMALL LETTER S WITH CARON → LATIN SMALL LETTER S -0219; 0073 # ș → s LATIN SMALL LETTER S WITH COMMA BELOW → LATIN SMALL LETTER S -0282; 0073 # ʂ → s LATIN SMALL LETTER S WITH HOOK → LATIN SMALL LETTER S -1E61; 0073 # ṡ → s LATIN SMALL LETTER S WITH DOT ABOVE → LATIN SMALL LETTER S -1E63; 0073 # ṣ → s LATIN SMALL LETTER S WITH DOT BELOW → LATIN SMALL LETTER S -1E65; 0073 # ṥ → s LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE → LATIN SMALL LETTER S -1E67; 0073 # ṧ → s LATIN SMALL LETTER S WITH CARON AND DOT ABOVE → LATIN SMALL LETTER S -1E69; 0073 # ṩ → s LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE → LATIN SMALL LETTER S -0163; 0074 # ţ → t LATIN SMALL LETTER T WITH CEDILLA → LATIN SMALL LETTER T -0165; 0074 # ť → t LATIN SMALL LETTER T WITH CARON → LATIN SMALL LETTER T -0167; 0074 # ŧ → t LATIN SMALL LETTER T WITH STROKE → LATIN SMALL LETTER T -01AB; 0074 # ƫ → t LATIN SMALL LETTER T WITH PALATAL HOOK → LATIN SMALL LETTER T -01AD; 0074 # ƭ → t LATIN SMALL LETTER T WITH HOOK → LATIN SMALL LETTER T -021B; 0074 # ț → t LATIN SMALL LETTER T WITH COMMA BELOW → LATIN SMALL LETTER T -0236; 0074 # ȶ → t LATIN SMALL LETTER T WITH CURL → LATIN SMALL LETTER T -0288; 0074 # ʈ → t LATIN SMALL LETTER T WITH RETROFLEX HOOK → LATIN SMALL LETTER T -1E6B; 0074 # ṫ → t LATIN SMALL LETTER T WITH DOT ABOVE → LATIN SMALL LETTER T -1E6D; 0074 # ṭ → t LATIN SMALL LETTER T WITH DOT BELOW → LATIN SMALL LETTER T -1E6F; 0074 # ṯ → t LATIN SMALL LETTER T WITH LINE BELOW → LATIN SMALL LETTER T -1E71; 0074 # ṱ → t LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW → LATIN SMALL LETTER T -1E97; 0074 # ẗ → t LATIN SMALL LETTER T WITH DIAERESIS → LATIN SMALL LETTER T -00F9; 0075 # ù → u LATIN SMALL LETTER U WITH GRAVE → LATIN SMALL LETTER U -00FA; 0075 # ú → u LATIN SMALL LETTER U WITH ACUTE → LATIN SMALL LETTER U -00FB; 0075 # û → u LATIN SMALL LETTER U WITH CIRCUMFLEX → LATIN SMALL LETTER U -00FC; 0075 # ü → u LATIN SMALL LETTER U WITH DIAERESIS → LATIN SMALL LETTER U -0169; 0075 # ũ → u LATIN SMALL LETTER U WITH TILDE → LATIN SMALL LETTER U -016B; 0075 # ū → u LATIN SMALL LETTER U WITH MACRON → LATIN SMALL LETTER U -016D; 0075 # ŭ → u LATIN SMALL LETTER U WITH BREVE → LATIN SMALL LETTER U -016F; 0075 # ů → u LATIN SMALL LETTER U WITH RING ABOVE → LATIN SMALL LETTER U -0171; 0075 # ű → u LATIN SMALL LETTER U WITH DOUBLE ACUTE → LATIN SMALL LETTER U -0173; 0075 # ų → u LATIN SMALL LETTER U WITH OGONEK → LATIN SMALL LETTER U -01B0; 0075 # ư → u LATIN SMALL LETTER U WITH HORN → LATIN SMALL LETTER U -01D4; 0075 # ǔ → u LATIN SMALL LETTER U WITH CARON → LATIN SMALL LETTER U -01D6; 0075 # ǖ → u LATIN SMALL LETTER U WITH DIAERESIS AND MACRON → LATIN SMALL LETTER U -01D8; 0075 # ǘ → u LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE → LATIN SMALL LETTER U -01DA; 0075 # ǚ → u LATIN SMALL LETTER U WITH DIAERESIS AND CARON → LATIN SMALL LETTER U -01DC; 0075 # ǜ → u LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE → LATIN SMALL LETTER U -0215; 0075 # ȕ → u LATIN SMALL LETTER U WITH DOUBLE GRAVE → LATIN SMALL LETTER U -0217; 0075 # ȗ → u LATIN SMALL LETTER U WITH INVERTED BREVE → LATIN SMALL LETTER U -1E73; 0075 # ṳ → u LATIN SMALL LETTER U WITH DIAERESIS BELOW → LATIN SMALL LETTER U -1E75; 0075 # ṵ → u LATIN SMALL LETTER U WITH TILDE BELOW → LATIN SMALL LETTER U -1E77; 0075 # ṷ → u LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW → LATIN SMALL LETTER U -1E79; 0075 # ṹ → u LATIN SMALL LETTER U WITH TILDE AND ACUTE → LATIN SMALL LETTER U -1E7B; 0075 # ṻ → u LATIN SMALL LETTER U WITH MACRON AND DIAERESIS → LATIN SMALL LETTER U -1EE5; 0075 # ụ → u LATIN SMALL LETTER U WITH DOT BELOW → LATIN SMALL LETTER U -1EE7; 0075 # ủ → u LATIN SMALL LETTER U WITH HOOK ABOVE → LATIN SMALL LETTER U -1EE9; 0075 # ứ → u LATIN SMALL LETTER U WITH HORN AND ACUTE → LATIN SMALL LETTER U -1EEB; 0075 # ừ → u LATIN SMALL LETTER U WITH HORN AND GRAVE → LATIN SMALL LETTER U -1EED; 0075 # ử → u LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE → LATIN SMALL LETTER U -1EEF; 0075 # ữ → u LATIN SMALL LETTER U WITH HORN AND TILDE → LATIN SMALL LETTER U -1EF1; 0075 # ự → u LATIN SMALL LETTER U WITH HORN AND DOT BELOW → LATIN SMALL LETTER U -028B; 0076 # ʋ → v LATIN SMALL LETTER V WITH HOOK → LATIN SMALL LETTER V -1E7D; 0076 # ṽ → v LATIN SMALL LETTER V WITH TILDE → LATIN SMALL LETTER V -1E7F; 0076 # ṿ → v LATIN SMALL LETTER V WITH DOT BELOW → LATIN SMALL LETTER V -0175; 0077 # ŵ → w LATIN SMALL LETTER W WITH CIRCUMFLEX → LATIN SMALL LETTER W -1E81; 0077 # ẁ → w LATIN SMALL LETTER W WITH GRAVE → LATIN SMALL LETTER W -1E83; 0077 # ẃ → w LATIN SMALL LETTER W WITH ACUTE → LATIN SMALL LETTER W -1E85; 0077 # ẅ → w LATIN SMALL LETTER W WITH DIAERESIS → LATIN SMALL LETTER W -1E87; 0077 # ẇ → w LATIN SMALL LETTER W WITH DOT ABOVE → LATIN SMALL LETTER W -1E89; 0077 # ẉ → w LATIN SMALL LETTER W WITH DOT BELOW → LATIN SMALL LETTER W -1E98; 0077 # ẘ → w LATIN SMALL LETTER W WITH RING ABOVE → LATIN SMALL LETTER W -1E8B; 0078 # ẋ → x LATIN SMALL LETTER X WITH DOT ABOVE → LATIN SMALL LETTER X -1E8D; 0078 # ẍ → x LATIN SMALL LETTER X WITH DIAERESIS → LATIN SMALL LETTER X -00FD; 0079 # ý → y LATIN SMALL LETTER Y WITH ACUTE → LATIN SMALL LETTER Y -00FF; 0079 # ÿ → y LATIN SMALL LETTER Y WITH DIAERESIS → LATIN SMALL LETTER Y -0177; 0079 # ŷ → y LATIN SMALL LETTER Y WITH CIRCUMFLEX → LATIN SMALL LETTER Y -01B4; 0079 # ƴ → y LATIN SMALL LETTER Y WITH HOOK → LATIN SMALL LETTER Y -0233; 0079 # ȳ → y LATIN SMALL LETTER Y WITH MACRON → LATIN SMALL LETTER Y -1E8F; 0079 # ẏ → y LATIN SMALL LETTER Y WITH DOT ABOVE → LATIN SMALL LETTER Y -1E99; 0079 # ẙ → y LATIN SMALL LETTER Y WITH RING ABOVE → LATIN SMALL LETTER Y -1EF3; 0079 # ỳ → y LATIN SMALL LETTER Y WITH GRAVE → LATIN SMALL LETTER Y -1EF5; 0079 # ỵ → y LATIN SMALL LETTER Y WITH DOT BELOW → LATIN SMALL LETTER Y -1EF7; 0079 # ỷ → y LATIN SMALL LETTER Y WITH HOOK ABOVE → LATIN SMALL LETTER Y -1EF9; 0079 # ỹ → y LATIN SMALL LETTER Y WITH TILDE → LATIN SMALL LETTER Y -017A; 007A # ź → z LATIN SMALL LETTER Z WITH ACUTE → LATIN SMALL LETTER Z -017C; 007A # ż → z LATIN SMALL LETTER Z WITH DOT ABOVE → LATIN SMALL LETTER Z -017E; 007A # ž → z LATIN SMALL LETTER Z WITH CARON → LATIN SMALL LETTER Z -01B6; 007A # ƶ → z LATIN SMALL LETTER Z WITH STROKE → LATIN SMALL LETTER Z -0225; 007A # ȥ → z LATIN SMALL LETTER Z WITH HOOK → LATIN SMALL LETTER Z -0290; 007A # ʐ → z LATIN SMALL LETTER Z WITH RETROFLEX HOOK → LATIN SMALL LETTER Z -0291; 007A # ʑ → z LATIN SMALL LETTER Z WITH CURL → LATIN SMALL LETTER Z -1E91; 007A # ẑ → z LATIN SMALL LETTER Z WITH CIRCUMFLEX → LATIN SMALL LETTER Z -1E93; 007A # ẓ → z LATIN SMALL LETTER Z WITH DOT BELOW → LATIN SMALL LETTER Z -1E95; 007A # ẕ → z LATIN SMALL LETTER Z WITH LINE BELOW → LATIN SMALL LETTER Z -01E2; 00C6 # Ǣ → Æ LATIN CAPITAL LETTER AE WITH MACRON → LATIN CAPITAL LETTER AE -01FC; 00C6 # Ǽ → Æ LATIN CAPITAL LETTER AE WITH ACUTE → LATIN CAPITAL LETTER AE -01E3; 00E6 # ǣ → æ LATIN SMALL LETTER AE WITH MACRON → LATIN SMALL LETTER AE -01FD; 00E6 # ǽ → æ LATIN SMALL LETTER AE WITH ACUTE → LATIN SMALL LETTER AE -1E9B; 017F # ẛ → ſ LATIN SMALL LETTER LONG S WITH DOT ABOVE → LATIN SMALL LETTER LONG S -01EE; 01B7 # Ǯ → Ʒ LATIN CAPITAL LETTER EZH WITH CARON → LATIN CAPITAL LETTER EZH -025A; 0259 # ɚ → ə LATIN SMALL LETTER SCHWA WITH HOOK → LATIN SMALL LETTER SCHWA -0286; 0283 # ʆ → ʃ LATIN SMALL LETTER ESH WITH CURL → LATIN SMALL LETTER ESH -01BA; 0292 # ƺ → ʒ LATIN SMALL LETTER EZH WITH TAIL → LATIN SMALL LETTER EZH -01EF; 0292 # ǯ → ʒ LATIN SMALL LETTER EZH WITH CARON → LATIN SMALL LETTER EZH -0293; 0292 # ʓ → ʒ LATIN SMALL LETTER EZH WITH CURL → LATIN SMALL LETTER EZH -0386; 0391 # Ά → Α GREEK CAPITAL LETTER ALPHA WITH TONOS → GREEK CAPITAL LETTER ALPHA -1F08; 0391 # Ἀ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI → GREEK CAPITAL LETTER ALPHA -1F09; 0391 # Ἁ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA → GREEK CAPITAL LETTER ALPHA -1F0A; 0391 # Ἂ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA → GREEK CAPITAL LETTER ALPHA -1F0B; 0391 # Ἃ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA → GREEK CAPITAL LETTER ALPHA -1F0C; 0391 # Ἄ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA → GREEK CAPITAL LETTER ALPHA -1F0D; 0391 # Ἅ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA → GREEK CAPITAL LETTER ALPHA -1F0E; 0391 # Ἆ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI → GREEK CAPITAL LETTER ALPHA -1F0F; 0391 # Ἇ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI → GREEK CAPITAL LETTER ALPHA -1F88; 0391 # ᾈ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F89; 0391 # ᾉ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F8A; 0391 # ᾊ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F8B; 0391 # ᾋ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F8C; 0391 # ᾌ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F8D; 0391 # ᾍ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F8E; 0391 # ᾎ → Α GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1F8F; 0391 # ᾏ → Α GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -1FB8; 0391 # Ᾰ → Α GREEK CAPITAL LETTER ALPHA WITH VRACHY → GREEK CAPITAL LETTER ALPHA -1FB9; 0391 # Ᾱ → Α GREEK CAPITAL LETTER ALPHA WITH MACRON → GREEK CAPITAL LETTER ALPHA -1FBA; 0391 # Ὰ → Α GREEK CAPITAL LETTER ALPHA WITH VARIA → GREEK CAPITAL LETTER ALPHA -1FBB; 0391 # Ά → Α GREEK CAPITAL LETTER ALPHA WITH OXIA → GREEK CAPITAL LETTER ALPHA -1FBC; 0391 # ᾼ → Α GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI → GREEK CAPITAL LETTER ALPHA -0388; 0395 # Έ → Ε GREEK CAPITAL LETTER EPSILON WITH TONOS → GREEK CAPITAL LETTER EPSILON -1F18; 0395 # Ἐ → Ε GREEK CAPITAL LETTER EPSILON WITH PSILI → GREEK CAPITAL LETTER EPSILON -1F19; 0395 # Ἑ → Ε GREEK CAPITAL LETTER EPSILON WITH DASIA → GREEK CAPITAL LETTER EPSILON -1F1A; 0395 # Ἒ → Ε GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA → GREEK CAPITAL LETTER EPSILON -1F1B; 0395 # Ἓ → Ε GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA → GREEK CAPITAL LETTER EPSILON -1F1C; 0395 # Ἔ → Ε GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA → GREEK CAPITAL LETTER EPSILON -1F1D; 0395 # Ἕ → Ε GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA → GREEK CAPITAL LETTER EPSILON -1FC8; 0395 # Ὲ → Ε GREEK CAPITAL LETTER EPSILON WITH VARIA → GREEK CAPITAL LETTER EPSILON -1FC9; 0395 # Έ → Ε GREEK CAPITAL LETTER EPSILON WITH OXIA → GREEK CAPITAL LETTER EPSILON -0389; 0397 # Ή → Η GREEK CAPITAL LETTER ETA WITH TONOS → GREEK CAPITAL LETTER ETA -1F28; 0397 # Ἠ → Η GREEK CAPITAL LETTER ETA WITH PSILI → GREEK CAPITAL LETTER ETA -1F29; 0397 # Ἡ → Η GREEK CAPITAL LETTER ETA WITH DASIA → GREEK CAPITAL LETTER ETA -1F2A; 0397 # Ἢ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA → GREEK CAPITAL LETTER ETA -1F2B; 0397 # Ἣ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA → GREEK CAPITAL LETTER ETA -1F2C; 0397 # Ἤ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA → GREEK CAPITAL LETTER ETA -1F2D; 0397 # Ἥ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA → GREEK CAPITAL LETTER ETA -1F2E; 0397 # Ἦ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI → GREEK CAPITAL LETTER ETA -1F2F; 0397 # Ἧ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI → GREEK CAPITAL LETTER ETA -1F98; 0397 # ᾘ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F99; 0397 # ᾙ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F9A; 0397 # ᾚ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F9B; 0397 # ᾛ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F9C; 0397 # ᾜ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F9D; 0397 # ᾝ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F9E; 0397 # ᾞ → Η GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1F9F; 0397 # ᾟ → Η GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -1FCA; 0397 # Ὴ → Η GREEK CAPITAL LETTER ETA WITH VARIA → GREEK CAPITAL LETTER ETA -1FCB; 0397 # Ή → Η GREEK CAPITAL LETTER ETA WITH OXIA → GREEK CAPITAL LETTER ETA -1FCC; 0397 # ῌ → Η GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI → GREEK CAPITAL LETTER ETA -038A; 0399 # Ί → Ι GREEK CAPITAL LETTER IOTA WITH TONOS → GREEK CAPITAL LETTER IOTA -03AA; 0399 # Ϊ → Ι GREEK CAPITAL LETTER IOTA WITH DIALYTIKA → GREEK CAPITAL LETTER IOTA -1F38; 0399 # Ἰ → Ι GREEK CAPITAL LETTER IOTA WITH PSILI → GREEK CAPITAL LETTER IOTA -1F39; 0399 # Ἱ → Ι GREEK CAPITAL LETTER IOTA WITH DASIA → GREEK CAPITAL LETTER IOTA -1F3A; 0399 # Ἲ → Ι GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA → GREEK CAPITAL LETTER IOTA -1F3B; 0399 # Ἳ → Ι GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA → GREEK CAPITAL LETTER IOTA -1F3C; 0399 # Ἴ → Ι GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA → GREEK CAPITAL LETTER IOTA -1F3D; 0399 # Ἵ → Ι GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA → GREEK CAPITAL LETTER IOTA -1F3E; 0399 # Ἶ → Ι GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI → GREEK CAPITAL LETTER IOTA -1F3F; 0399 # Ἷ → Ι GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI → GREEK CAPITAL LETTER IOTA -1FD8; 0399 # Ῐ → Ι GREEK CAPITAL LETTER IOTA WITH VRACHY → GREEK CAPITAL LETTER IOTA -1FD9; 0399 # Ῑ → Ι GREEK CAPITAL LETTER IOTA WITH MACRON → GREEK CAPITAL LETTER IOTA -1FDA; 0399 # Ὶ → Ι GREEK CAPITAL LETTER IOTA WITH VARIA → GREEK CAPITAL LETTER IOTA -1FDB; 0399 # Ί → Ι GREEK CAPITAL LETTER IOTA WITH OXIA → GREEK CAPITAL LETTER IOTA -038C; 039F # Ό → Ο GREEK CAPITAL LETTER OMICRON WITH TONOS → GREEK CAPITAL LETTER OMICRON -1F48; 039F # Ὀ → Ο GREEK CAPITAL LETTER OMICRON WITH PSILI → GREEK CAPITAL LETTER OMICRON -1F49; 039F # Ὁ → Ο GREEK CAPITAL LETTER OMICRON WITH DASIA → GREEK CAPITAL LETTER OMICRON -1F4A; 039F # Ὂ → Ο GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA → GREEK CAPITAL LETTER OMICRON -1F4B; 039F # Ὃ → Ο GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA → GREEK CAPITAL LETTER OMICRON -1F4C; 039F # Ὄ → Ο GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA → GREEK CAPITAL LETTER OMICRON -1F4D; 039F # Ὅ → Ο GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA → GREEK CAPITAL LETTER OMICRON -1FF8; 039F # Ὸ → Ο GREEK CAPITAL LETTER OMICRON WITH VARIA → GREEK CAPITAL LETTER OMICRON -1FF9; 039F # Ό → Ο GREEK CAPITAL LETTER OMICRON WITH OXIA → GREEK CAPITAL LETTER OMICRON -1FEC; 03A1 # Ῥ → Ρ GREEK CAPITAL LETTER RHO WITH DASIA → GREEK CAPITAL LETTER RHO -038E; 03A5 # Ύ → Υ GREEK CAPITAL LETTER UPSILON WITH TONOS → GREEK CAPITAL LETTER UPSILON -03AB; 03A5 # Ϋ → Υ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA → GREEK CAPITAL LETTER UPSILON -1F59; 03A5 # Ὑ → Υ GREEK CAPITAL LETTER UPSILON WITH DASIA → GREEK CAPITAL LETTER UPSILON -1F5B; 03A5 # Ὓ → Υ GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA → GREEK CAPITAL LETTER UPSILON -1F5D; 03A5 # Ὕ → Υ GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA → GREEK CAPITAL LETTER UPSILON -1F5F; 03A5 # Ὗ → Υ GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI → GREEK CAPITAL LETTER UPSILON -1FE8; 03A5 # Ῠ → Υ GREEK CAPITAL LETTER UPSILON WITH VRACHY → GREEK CAPITAL LETTER UPSILON -1FE9; 03A5 # Ῡ → Υ GREEK CAPITAL LETTER UPSILON WITH MACRON → GREEK CAPITAL LETTER UPSILON -1FEA; 03A5 # Ὺ → Υ GREEK CAPITAL LETTER UPSILON WITH VARIA → GREEK CAPITAL LETTER UPSILON -1FEB; 03A5 # Ύ → Υ GREEK CAPITAL LETTER UPSILON WITH OXIA → GREEK CAPITAL LETTER UPSILON -038F; 03A9 # Ώ → Ω GREEK CAPITAL LETTER OMEGA WITH TONOS → GREEK CAPITAL LETTER OMEGA -1F68; 03A9 # Ὠ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI → GREEK CAPITAL LETTER OMEGA -1F69; 03A9 # Ὡ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA → GREEK CAPITAL LETTER OMEGA -1F6A; 03A9 # Ὢ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA → GREEK CAPITAL LETTER OMEGA -1F6B; 03A9 # Ὣ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA → GREEK CAPITAL LETTER OMEGA -1F6C; 03A9 # Ὤ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA → GREEK CAPITAL LETTER OMEGA -1F6D; 03A9 # Ὥ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA → GREEK CAPITAL LETTER OMEGA -1F6E; 03A9 # Ὦ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI → GREEK CAPITAL LETTER OMEGA -1F6F; 03A9 # Ὧ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI → GREEK CAPITAL LETTER OMEGA -1FA8; 03A9 # ᾨ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FA9; 03A9 # ᾩ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FAA; 03A9 # ᾪ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FAB; 03A9 # ᾫ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FAC; 03A9 # ᾬ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FAD; 03A9 # ᾭ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FAE; 03A9 # ᾮ → Ω GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FAF; 03A9 # ᾯ → Ω GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -1FFA; 03A9 # Ὼ → Ω GREEK CAPITAL LETTER OMEGA WITH VARIA → GREEK CAPITAL LETTER OMEGA -1FFB; 03A9 # Ώ → Ω GREEK CAPITAL LETTER OMEGA WITH OXIA → GREEK CAPITAL LETTER OMEGA -1FFC; 03A9 # ῼ → Ω GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI → GREEK CAPITAL LETTER OMEGA -03AC; 03B1 # ά → α GREEK SMALL LETTER ALPHA WITH TONOS → GREEK SMALL LETTER ALPHA -1F00; 03B1 # ἀ → α GREEK SMALL LETTER ALPHA WITH PSILI → GREEK SMALL LETTER ALPHA -1F01; 03B1 # ἁ → α GREEK SMALL LETTER ALPHA WITH DASIA → GREEK SMALL LETTER ALPHA -1F02; 03B1 # ἂ → α GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA → GREEK SMALL LETTER ALPHA -1F03; 03B1 # ἃ → α GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA → GREEK SMALL LETTER ALPHA -1F04; 03B1 # ἄ → α GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA → GREEK SMALL LETTER ALPHA -1F05; 03B1 # ἅ → α GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA → GREEK SMALL LETTER ALPHA -1F06; 03B1 # ἆ → α GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI → GREEK SMALL LETTER ALPHA -1F07; 03B1 # ἇ → α GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI → GREEK SMALL LETTER ALPHA -1F70; 03B1 # ὰ → α GREEK SMALL LETTER ALPHA WITH VARIA → GREEK SMALL LETTER ALPHA -1F71; 03B1 # ά → α GREEK SMALL LETTER ALPHA WITH OXIA → GREEK SMALL LETTER ALPHA -1F80; 03B1 # ᾀ → α GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F81; 03B1 # ᾁ → α GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F82; 03B1 # ᾂ → α GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F83; 03B1 # ᾃ → α GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F84; 03B1 # ᾄ → α GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F85; 03B1 # ᾅ → α GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F86; 03B1 # ᾆ → α GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1F87; 03B1 # ᾇ → α GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1FB0; 03B1 # ᾰ → α GREEK SMALL LETTER ALPHA WITH VRACHY → GREEK SMALL LETTER ALPHA -1FB1; 03B1 # ᾱ → α GREEK SMALL LETTER ALPHA WITH MACRON → GREEK SMALL LETTER ALPHA -1FB2; 03B1 # ᾲ → α GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1FB3; 03B1 # ᾳ → α GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1FB4; 03B1 # ᾴ → α GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -1FB6; 03B1 # ᾶ → α GREEK SMALL LETTER ALPHA WITH PERISPOMENI → GREEK SMALL LETTER ALPHA -1FB7; 03B1 # ᾷ → α GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER ALPHA -03AD; 03B5 # έ → ε GREEK SMALL LETTER EPSILON WITH TONOS → GREEK SMALL LETTER EPSILON -1F10; 03B5 # ἐ → ε GREEK SMALL LETTER EPSILON WITH PSILI → GREEK SMALL LETTER EPSILON -1F11; 03B5 # ἑ → ε GREEK SMALL LETTER EPSILON WITH DASIA → GREEK SMALL LETTER EPSILON -1F12; 03B5 # ἒ → ε GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA → GREEK SMALL LETTER EPSILON -1F13; 03B5 # ἓ → ε GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA → GREEK SMALL LETTER EPSILON -1F14; 03B5 # ἔ → ε GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA → GREEK SMALL LETTER EPSILON -1F15; 03B5 # ἕ → ε GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA → GREEK SMALL LETTER EPSILON -1F72; 03B5 # ὲ → ε GREEK SMALL LETTER EPSILON WITH VARIA → GREEK SMALL LETTER EPSILON -1F73; 03B5 # έ → ε GREEK SMALL LETTER EPSILON WITH OXIA → GREEK SMALL LETTER EPSILON -03AE; 03B7 # ή → η GREEK SMALL LETTER ETA WITH TONOS → GREEK SMALL LETTER ETA -1F20; 03B7 # ἠ → η GREEK SMALL LETTER ETA WITH PSILI → GREEK SMALL LETTER ETA -1F21; 03B7 # ἡ → η GREEK SMALL LETTER ETA WITH DASIA → GREEK SMALL LETTER ETA -1F22; 03B7 # ἢ → η GREEK SMALL LETTER ETA WITH PSILI AND VARIA → GREEK SMALL LETTER ETA -1F23; 03B7 # ἣ → η GREEK SMALL LETTER ETA WITH DASIA AND VARIA → GREEK SMALL LETTER ETA -1F24; 03B7 # ἤ → η GREEK SMALL LETTER ETA WITH PSILI AND OXIA → GREEK SMALL LETTER ETA -1F25; 03B7 # ἥ → η GREEK SMALL LETTER ETA WITH DASIA AND OXIA → GREEK SMALL LETTER ETA -1F26; 03B7 # ἦ → η GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI → GREEK SMALL LETTER ETA -1F27; 03B7 # ἧ → η GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI → GREEK SMALL LETTER ETA -1F74; 03B7 # ὴ → η GREEK SMALL LETTER ETA WITH VARIA → GREEK SMALL LETTER ETA -1F75; 03B7 # ή → η GREEK SMALL LETTER ETA WITH OXIA → GREEK SMALL LETTER ETA -1F90; 03B7 # ᾐ → η GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F91; 03B7 # ᾑ → η GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F92; 03B7 # ᾒ → η GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F93; 03B7 # ᾓ → η GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F94; 03B7 # ᾔ → η GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F95; 03B7 # ᾕ → η GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F96; 03B7 # ᾖ → η GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1F97; 03B7 # ᾗ → η GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1FC2; 03B7 # ῂ → η GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1FC3; 03B7 # ῃ → η GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1FC4; 03B7 # ῄ → η GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -1FC6; 03B7 # ῆ → η GREEK SMALL LETTER ETA WITH PERISPOMENI → GREEK SMALL LETTER ETA -1FC7; 03B7 # ῇ → η GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER ETA -0390; 03B9 # ΐ → ι GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS → GREEK SMALL LETTER IOTA -03AF; 03B9 # ί → ι GREEK SMALL LETTER IOTA WITH TONOS → GREEK SMALL LETTER IOTA -03CA; 03B9 # ϊ → ι GREEK SMALL LETTER IOTA WITH DIALYTIKA → GREEK SMALL LETTER IOTA -1F30; 03B9 # ἰ → ι GREEK SMALL LETTER IOTA WITH PSILI → GREEK SMALL LETTER IOTA -1F31; 03B9 # ἱ → ι GREEK SMALL LETTER IOTA WITH DASIA → GREEK SMALL LETTER IOTA -1F32; 03B9 # ἲ → ι GREEK SMALL LETTER IOTA WITH PSILI AND VARIA → GREEK SMALL LETTER IOTA -1F33; 03B9 # ἳ → ι GREEK SMALL LETTER IOTA WITH DASIA AND VARIA → GREEK SMALL LETTER IOTA -1F34; 03B9 # ἴ → ι GREEK SMALL LETTER IOTA WITH PSILI AND OXIA → GREEK SMALL LETTER IOTA -1F35; 03B9 # ἵ → ι GREEK SMALL LETTER IOTA WITH DASIA AND OXIA → GREEK SMALL LETTER IOTA -1F36; 03B9 # ἶ → ι GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI → GREEK SMALL LETTER IOTA -1F37; 03B9 # ἷ → ι GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI → GREEK SMALL LETTER IOTA -1F76; 03B9 # ὶ → ι GREEK SMALL LETTER IOTA WITH VARIA → GREEK SMALL LETTER IOTA -1F77; 03B9 # ί → ι GREEK SMALL LETTER IOTA WITH OXIA → GREEK SMALL LETTER IOTA -1FD0; 03B9 # ῐ → ι GREEK SMALL LETTER IOTA WITH VRACHY → GREEK SMALL LETTER IOTA -1FD1; 03B9 # ῑ → ι GREEK SMALL LETTER IOTA WITH MACRON → GREEK SMALL LETTER IOTA -1FD2; 03B9 # ῒ → ι GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA → GREEK SMALL LETTER IOTA -1FD3; 03B9 # ΐ → ι GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA → GREEK SMALL LETTER IOTA -1FD6; 03B9 # ῖ → ι GREEK SMALL LETTER IOTA WITH PERISPOMENI → GREEK SMALL LETTER IOTA -1FD7; 03B9 # ῗ → ι GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI → GREEK SMALL LETTER IOTA -03CC; 03BF # ό → ο GREEK SMALL LETTER OMICRON WITH TONOS → GREEK SMALL LETTER OMICRON -1F40; 03BF # ὀ → ο GREEK SMALL LETTER OMICRON WITH PSILI → GREEK SMALL LETTER OMICRON -1F41; 03BF # ὁ → ο GREEK SMALL LETTER OMICRON WITH DASIA → GREEK SMALL LETTER OMICRON -1F42; 03BF # ὂ → ο GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA → GREEK SMALL LETTER OMICRON -1F43; 03BF # ὃ → ο GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA → GREEK SMALL LETTER OMICRON -1F44; 03BF # ὄ → ο GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA → GREEK SMALL LETTER OMICRON -1F45; 03BF # ὅ → ο GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA → GREEK SMALL LETTER OMICRON -1F78; 03BF # ὸ → ο GREEK SMALL LETTER OMICRON WITH VARIA → GREEK SMALL LETTER OMICRON -1F79; 03BF # ό → ο GREEK SMALL LETTER OMICRON WITH OXIA → GREEK SMALL LETTER OMICRON -1FE4; 03C1 # ῤ → ρ GREEK SMALL LETTER RHO WITH PSILI → GREEK SMALL LETTER RHO -1FE5; 03C1 # ῥ → ρ GREEK SMALL LETTER RHO WITH DASIA → GREEK SMALL LETTER RHO -03B0; 03C5 # ΰ → υ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS → GREEK SMALL LETTER UPSILON -03CB; 03C5 # ϋ → υ GREEK SMALL LETTER UPSILON WITH DIALYTIKA → GREEK SMALL LETTER UPSILON -03CD; 03C5 # ύ → υ GREEK SMALL LETTER UPSILON WITH TONOS → GREEK SMALL LETTER UPSILON -1F50; 03C5 # ὐ → υ GREEK SMALL LETTER UPSILON WITH PSILI → GREEK SMALL LETTER UPSILON -1F51; 03C5 # ὑ → υ GREEK SMALL LETTER UPSILON WITH DASIA → GREEK SMALL LETTER UPSILON -1F52; 03C5 # ὒ → υ GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA → GREEK SMALL LETTER UPSILON -1F53; 03C5 # ὓ → υ GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA → GREEK SMALL LETTER UPSILON -1F54; 03C5 # ὔ → υ GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA → GREEK SMALL LETTER UPSILON -1F55; 03C5 # ὕ → υ GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA → GREEK SMALL LETTER UPSILON -1F56; 03C5 # ὖ → υ GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI → GREEK SMALL LETTER UPSILON -1F57; 03C5 # ὗ → υ GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI → GREEK SMALL LETTER UPSILON -1F7A; 03C5 # ὺ → υ GREEK SMALL LETTER UPSILON WITH VARIA → GREEK SMALL LETTER UPSILON -1F7B; 03C5 # ύ → υ GREEK SMALL LETTER UPSILON WITH OXIA → GREEK SMALL LETTER UPSILON -1FE0; 03C5 # ῠ → υ GREEK SMALL LETTER UPSILON WITH VRACHY → GREEK SMALL LETTER UPSILON -1FE1; 03C5 # ῡ → υ GREEK SMALL LETTER UPSILON WITH MACRON → GREEK SMALL LETTER UPSILON -1FE2; 03C5 # ῢ → υ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA → GREEK SMALL LETTER UPSILON -1FE3; 03C5 # ΰ → υ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA → GREEK SMALL LETTER UPSILON -1FE6; 03C5 # ῦ → υ GREEK SMALL LETTER UPSILON WITH PERISPOMENI → GREEK SMALL LETTER UPSILON -1FE7; 03C5 # ῧ → υ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI → GREEK SMALL LETTER UPSILON -03CE; 03C9 # ώ → ω GREEK SMALL LETTER OMEGA WITH TONOS → GREEK SMALL LETTER OMEGA -1F60; 03C9 # ὠ → ω GREEK SMALL LETTER OMEGA WITH PSILI → GREEK SMALL LETTER OMEGA -1F61; 03C9 # ὡ → ω GREEK SMALL LETTER OMEGA WITH DASIA → GREEK SMALL LETTER OMEGA -1F62; 03C9 # ὢ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA → GREEK SMALL LETTER OMEGA -1F63; 03C9 # ὣ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA → GREEK SMALL LETTER OMEGA -1F64; 03C9 # ὤ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA → GREEK SMALL LETTER OMEGA -1F65; 03C9 # ὥ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA → GREEK SMALL LETTER OMEGA -1F66; 03C9 # ὦ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI → GREEK SMALL LETTER OMEGA -1F67; 03C9 # ὧ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI → GREEK SMALL LETTER OMEGA -1F7C; 03C9 # ὼ → ω GREEK SMALL LETTER OMEGA WITH VARIA → GREEK SMALL LETTER OMEGA -1F7D; 03C9 # ώ → ω GREEK SMALL LETTER OMEGA WITH OXIA → GREEK SMALL LETTER OMEGA -1FA0; 03C9 # ᾠ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA1; 03C9 # ᾡ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA2; 03C9 # ᾢ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA3; 03C9 # ᾣ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA4; 03C9 # ᾤ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA5; 03C9 # ᾥ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA6; 03C9 # ᾦ → ω GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FA7; 03C9 # ᾧ → ω GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FF2; 03C9 # ῲ → ω GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FF3; 03C9 # ῳ → ω GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FF4; 03C9 # ῴ → ω GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -1FF6; 03C9 # ῶ → ω GREEK SMALL LETTER OMEGA WITH PERISPOMENI → GREEK SMALL LETTER OMEGA -1FF7; 03C9 # ῷ → ω GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI → GREEK SMALL LETTER OMEGA -04D0; 0410 # Ӑ → А CYRILLIC CAPITAL LETTER A WITH BREVE → CYRILLIC CAPITAL LETTER A -04D2; 0410 # Ӓ → А CYRILLIC CAPITAL LETTER A WITH DIAERESIS → CYRILLIC CAPITAL LETTER A -0490; 0413 # Ґ → Г CYRILLIC CAPITAL LETTER GHE WITH UPTURN → CYRILLIC CAPITAL LETTER GHE -0492; 0413 # Ғ → Г CYRILLIC CAPITAL LETTER GHE WITH STROKE → CYRILLIC CAPITAL LETTER GHE -0494; 0413 # Ҕ → Г CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK → CYRILLIC CAPITAL LETTER GHE -0400; 0415 # Ѐ → Е CYRILLIC CAPITAL LETTER IE WITH GRAVE → CYRILLIC CAPITAL LETTER IE -04D6; 0415 # Ӗ → Е CYRILLIC CAPITAL LETTER IE WITH BREVE → CYRILLIC CAPITAL LETTER IE -0496; 0416 # Җ → Ж CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER → CYRILLIC CAPITAL LETTER ZHE -04C1; 0416 # Ӂ → Ж CYRILLIC CAPITAL LETTER ZHE WITH BREVE → CYRILLIC CAPITAL LETTER ZHE -04DC; 0416 # Ӝ → Ж CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS → CYRILLIC CAPITAL LETTER ZHE -0498; 0417 # Ҙ → З CYRILLIC CAPITAL LETTER ZE WITH DESCENDER → CYRILLIC CAPITAL LETTER ZE -04DE; 0417 # Ӟ → З CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS → CYRILLIC CAPITAL LETTER ZE -040D; 0418 # Ѝ → И CYRILLIC CAPITAL LETTER I WITH GRAVE → CYRILLIC CAPITAL LETTER I -04E2; 0418 # Ӣ → И CYRILLIC CAPITAL LETTER I WITH MACRON → CYRILLIC CAPITAL LETTER I -04E4; 0418 # Ӥ → И CYRILLIC CAPITAL LETTER I WITH DIAERESIS → CYRILLIC CAPITAL LETTER I -048A; 0419 # Ҋ → Й CYRILLIC CAPITAL LETTER SHORT I WITH TAIL → CYRILLIC CAPITAL LETTER SHORT I -049A; 041A # Қ → К CYRILLIC CAPITAL LETTER KA WITH DESCENDER → CYRILLIC CAPITAL LETTER KA -049C; 041A # Ҝ → К CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE → CYRILLIC CAPITAL LETTER KA -049E; 041A # Ҟ → К CYRILLIC CAPITAL LETTER KA WITH STROKE → CYRILLIC CAPITAL LETTER KA -04C3; 041A # Ӄ → К CYRILLIC CAPITAL LETTER KA WITH HOOK → CYRILLIC CAPITAL LETTER KA -04C5; 041B # Ӆ → Л CYRILLIC CAPITAL LETTER EL WITH TAIL → CYRILLIC CAPITAL LETTER EL -04CD; 041C # Ӎ → М CYRILLIC CAPITAL LETTER EM WITH TAIL → CYRILLIC CAPITAL LETTER EM -04A2; 041D # Ң → Н CYRILLIC CAPITAL LETTER EN WITH DESCENDER → CYRILLIC CAPITAL LETTER EN -04C7; 041D # Ӈ → Н CYRILLIC CAPITAL LETTER EN WITH HOOK → CYRILLIC CAPITAL LETTER EN -04C9; 041D # Ӊ → Н CYRILLIC CAPITAL LETTER EN WITH TAIL → CYRILLIC CAPITAL LETTER EN -04E6; 041E # Ӧ → О CYRILLIC CAPITAL LETTER O WITH DIAERESIS → CYRILLIC CAPITAL LETTER O -04A6; 041F # Ҧ → П CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK → CYRILLIC CAPITAL LETTER PE -048E; 0420 # Ҏ → Р CYRILLIC CAPITAL LETTER ER WITH TICK → CYRILLIC CAPITAL LETTER ER -04AA; 0421 # Ҫ → С CYRILLIC CAPITAL LETTER ES WITH DESCENDER → CYRILLIC CAPITAL LETTER ES -04AC; 0422 # Ҭ → Т CYRILLIC CAPITAL LETTER TE WITH DESCENDER → CYRILLIC CAPITAL LETTER TE -04EE; 0423 # Ӯ → У CYRILLIC CAPITAL LETTER U WITH MACRON → CYRILLIC CAPITAL LETTER U -04F0; 0423 # Ӱ → У CYRILLIC CAPITAL LETTER U WITH DIAERESIS → CYRILLIC CAPITAL LETTER U -04F2; 0423 # Ӳ → У CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE → CYRILLIC CAPITAL LETTER U -04B2; 0425 # Ҳ → Х CYRILLIC CAPITAL LETTER HA WITH DESCENDER → CYRILLIC CAPITAL LETTER HA -04B3; 0425 # ҳ → Х CYRILLIC SMALL LETTER HA WITH DESCENDER → CYRILLIC CAPITAL LETTER HA -04F4; 0427 # Ӵ → Ч CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS → CYRILLIC CAPITAL LETTER CHE -04F8; 042B # Ӹ → Ы CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS → CYRILLIC CAPITAL LETTER YERU -04EC; 042D # Ӭ → Э CYRILLIC CAPITAL LETTER E WITH DIAERESIS → CYRILLIC CAPITAL LETTER E -04D1; 0430 # ӑ → а CYRILLIC SMALL LETTER A WITH BREVE → CYRILLIC SMALL LETTER A -04D3; 0430 # ӓ → а CYRILLIC SMALL LETTER A WITH DIAERESIS → CYRILLIC SMALL LETTER A -0491; 0433 # ґ → г CYRILLIC SMALL LETTER GHE WITH UPTURN → CYRILLIC SMALL LETTER GHE -0493; 0433 # ғ → г CYRILLIC SMALL LETTER GHE WITH STROKE → CYRILLIC SMALL LETTER GHE -0495; 0433 # ҕ → г CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK → CYRILLIC SMALL LETTER GHE -0450; 0435 # ѐ → е CYRILLIC SMALL LETTER IE WITH GRAVE → CYRILLIC SMALL LETTER IE -04D7; 0435 # ӗ → е CYRILLIC SMALL LETTER IE WITH BREVE → CYRILLIC SMALL LETTER IE -0497; 0436 # җ → ж CYRILLIC SMALL LETTER ZHE WITH DESCENDER → CYRILLIC SMALL LETTER ZHE -04C2; 0436 # ӂ → ж CYRILLIC SMALL LETTER ZHE WITH BREVE → CYRILLIC SMALL LETTER ZHE -04DD; 0436 # ӝ → ж CYRILLIC SMALL LETTER ZHE WITH DIAERESIS → CYRILLIC SMALL LETTER ZHE -0499; 0437 # ҙ → з CYRILLIC SMALL LETTER ZE WITH DESCENDER → CYRILLIC SMALL LETTER ZE -04DF; 0437 # ӟ → з CYRILLIC SMALL LETTER ZE WITH DIAERESIS → CYRILLIC SMALL LETTER ZE -045D; 0438 # ѝ → и CYRILLIC SMALL LETTER I WITH GRAVE → CYRILLIC SMALL LETTER I -04E3; 0438 # ӣ → и CYRILLIC SMALL LETTER I WITH MACRON → CYRILLIC SMALL LETTER I -04E5; 0438 # ӥ → и CYRILLIC SMALL LETTER I WITH DIAERESIS → CYRILLIC SMALL LETTER I -048B; 0439 # ҋ → й CYRILLIC SMALL LETTER SHORT I WITH TAIL → CYRILLIC SMALL LETTER SHORT I -049B; 043A # қ → к CYRILLIC SMALL LETTER KA WITH DESCENDER → CYRILLIC SMALL LETTER KA -049D; 043A # ҝ → к CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE → CYRILLIC SMALL LETTER KA -049F; 043A # ҟ → к CYRILLIC SMALL LETTER KA WITH STROKE → CYRILLIC SMALL LETTER KA -04C4; 043A # ӄ → к CYRILLIC SMALL LETTER KA WITH HOOK → CYRILLIC SMALL LETTER KA -04C6; 043B # ӆ → л CYRILLIC SMALL LETTER EL WITH TAIL → CYRILLIC SMALL LETTER EL -04CE; 043C # ӎ → м CYRILLIC SMALL LETTER EM WITH TAIL → CYRILLIC SMALL LETTER EM -04A3; 043D # ң → н CYRILLIC SMALL LETTER EN WITH DESCENDER → CYRILLIC SMALL LETTER EN -04C8; 043D # ӈ → н CYRILLIC SMALL LETTER EN WITH HOOK → CYRILLIC SMALL LETTER EN -04CA; 043D # ӊ → н CYRILLIC SMALL LETTER EN WITH TAIL → CYRILLIC SMALL LETTER EN -04E7; 043E # ӧ → о CYRILLIC SMALL LETTER O WITH DIAERESIS → CYRILLIC SMALL LETTER O -04A7; 043F # ҧ → п CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK → CYRILLIC SMALL LETTER PE -048F; 0440 # ҏ → р CYRILLIC SMALL LETTER ER WITH TICK → CYRILLIC SMALL LETTER ER -04AB; 0441 # ҫ → с CYRILLIC SMALL LETTER ES WITH DESCENDER → CYRILLIC SMALL LETTER ES -04AD; 0442 # ҭ → т CYRILLIC SMALL LETTER TE WITH DESCENDER → CYRILLIC SMALL LETTER TE -04EF; 0443 # ӯ → у CYRILLIC SMALL LETTER U WITH MACRON → CYRILLIC SMALL LETTER U -04F1; 0443 # ӱ → у CYRILLIC SMALL LETTER U WITH DIAERESIS → CYRILLIC SMALL LETTER U -04F3; 0443 # ӳ → у CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE → CYRILLIC SMALL LETTER U -04B9; 0447 # ҹ → ч CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE → CYRILLIC SMALL LETTER CHE -04F5; 0447 # ӵ → ч CYRILLIC SMALL LETTER CHE WITH DIAERESIS → CYRILLIC SMALL LETTER CHE -04F9; 044B # ӹ → ы CYRILLIC SMALL LETTER YERU WITH DIAERESIS → CYRILLIC SMALL LETTER YERU -04ED; 044D # ӭ → э CYRILLIC SMALL LETTER E WITH DIAERESIS → CYRILLIC SMALL LETTER E -047C; 0460 # Ѽ → Ѡ CYRILLIC CAPITAL LETTER OMEGA WITH TITLO → CYRILLIC CAPITAL LETTER OMEGA -047D; 0461 # ѽ → ѡ CYRILLIC SMALL LETTER OMEGA WITH TITLO → CYRILLIC SMALL LETTER OMEGA -0476; 0474 # Ѷ → Ѵ CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT → CYRILLIC CAPITAL LETTER IZHITSA -0477; 0475 # ѷ → ѵ CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT → CYRILLIC SMALL LETTER IZHITSA -04B0; 04AE # Ұ → Ү CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE → CYRILLIC CAPITAL LETTER STRAIGHT U -04B1; 04AF # ұ → ү CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE → CYRILLIC SMALL LETTER STRAIGHT U -04B6; 04BC # Ҷ → Ҽ CYRILLIC CAPITAL LETTER CHE WITH DESCENDER → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04B7; 04BC # ҷ → Ҽ CYRILLIC SMALL LETTER CHE WITH DESCENDER → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04B8; 04BC # Ҹ → Ҽ CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04BE; 04BC # Ҿ → Ҽ CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04BF; 04BC # ҿ → Ҽ CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04CB; 04BC # Ӌ → Ҽ CYRILLIC CAPITAL LETTER KHAKASSIAN CHE → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04CC; 04BC # ӌ → Ҽ CYRILLIC SMALL LETTER KHAKASSIAN CHE → CYRILLIC CAPITAL LETTER ABKHASIAN CHE -04DA; 04D8 # Ӛ → Ә CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS → CYRILLIC CAPITAL LETTER SCHWA -04DB; 04D9 # ӛ → ә CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS → CYRILLIC SMALL LETTER SCHWA -04EA; 04E8 # Ӫ → Ө CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS → CYRILLIC CAPITAL LETTER BARRED O -04EB; 04E9 # ӫ → ө CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS → CYRILLIC SMALL LETTER BARRED O -FB2E; 05D0 # אַ → א HEBREW LETTER ALEF WITH PATAH → HEBREW LETTER ALEF -FB2F; 05D0 # אָ → א HEBREW LETTER ALEF WITH QAMATS → HEBREW LETTER ALEF -FB30; 05D0 # אּ → א HEBREW LETTER ALEF WITH MAPIQ → HEBREW LETTER ALEF -FB31; 05D1 # בּ → ב HEBREW LETTER BET WITH DAGESH → HEBREW LETTER BET -FB4C; 05D1 # בֿ → ב HEBREW LETTER BET WITH RAFE → HEBREW LETTER BET -FB32; 05D2 # גּ → ג HEBREW LETTER GIMEL WITH DAGESH → HEBREW LETTER GIMEL -FB33; 05D3 # דּ → ד HEBREW LETTER DALET WITH DAGESH → HEBREW LETTER DALET -FB34; 05D4 # הּ → ה HEBREW LETTER HE WITH MAPIQ → HEBREW LETTER HE -FB35; 05D5 # וּ → ו HEBREW LETTER VAV WITH DAGESH → HEBREW LETTER VAV -FB4B; 05D5 # וֹ → ו HEBREW LETTER VAV WITH HOLAM → HEBREW LETTER VAV -FB36; 05D6 # זּ → ז HEBREW LETTER ZAYIN WITH DAGESH → HEBREW LETTER ZAYIN -FB38; 05D8 # טּ → ט HEBREW LETTER TET WITH DAGESH → HEBREW LETTER TET -FB1D; 05D9 # יִ → י HEBREW LETTER YOD WITH HIRIQ → HEBREW LETTER YOD -FB39; 05D9 # יּ → י HEBREW LETTER YOD WITH DAGESH → HEBREW LETTER YOD -FB3A; 05DA # ךּ → ך HEBREW LETTER FINAL KAF WITH DAGESH → HEBREW LETTER FINAL KAF -FB3B; 05DB # כּ → כ HEBREW LETTER KAF WITH DAGESH → HEBREW LETTER KAF -FB4D; 05DB # כֿ → כ HEBREW LETTER KAF WITH RAFE → HEBREW LETTER KAF -FB3C; 05DC # לּ → ל HEBREW LETTER LAMED WITH DAGESH → HEBREW LETTER LAMED -FB3E; 05DE # מּ → מ HEBREW LETTER MEM WITH DAGESH → HEBREW LETTER MEM -FB40; 05E0 # נּ → נ HEBREW LETTER NUN WITH DAGESH → HEBREW LETTER NUN -FB41; 05E1 # סּ → ס HEBREW LETTER SAMEKH WITH DAGESH → HEBREW LETTER SAMEKH -FB43; 05E3 # ףּ → ף HEBREW LETTER FINAL PE WITH DAGESH → HEBREW LETTER FINAL PE -FB44; 05E4 # פּ → פ HEBREW LETTER PE WITH DAGESH → HEBREW LETTER PE -FB4E; 05E4 # פֿ → פ HEBREW LETTER PE WITH RAFE → HEBREW LETTER PE -FB46; 05E6 # צּ → צ HEBREW LETTER TSADI WITH DAGESH → HEBREW LETTER TSADI -FB47; 05E7 # קּ → ק HEBREW LETTER QOF WITH DAGESH → HEBREW LETTER QOF -FB48; 05E8 # רּ → ר HEBREW LETTER RESH WITH DAGESH → HEBREW LETTER RESH -FB2A; 05E9 # שׁ → ש HEBREW LETTER SHIN WITH SHIN DOT → HEBREW LETTER SHIN -FB2B; 05E9 # שׂ → ש HEBREW LETTER SHIN WITH SIN DOT → HEBREW LETTER SHIN -FB2C; 05E9 # שּׁ → ש HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT → HEBREW LETTER SHIN -FB2D; 05E9 # שּׂ → ש HEBREW LETTER SHIN WITH DAGESH AND SIN DOT → HEBREW LETTER SHIN -FB49; 05E9 # שּ → ש HEBREW LETTER SHIN WITH DAGESH → HEBREW LETTER SHIN -FB4A; 05EA # תּ → ת HEBREW LETTER TAV WITH DAGESH → HEBREW LETTER TAV diff --git a/tools/generators/generate.cc b/tools/generators/generate.cc index c499440f..6b7df8fa 100644 --- a/tools/generators/generate.cc +++ b/tools/generators/generate.cc @@ -194,93 +194,5 @@ int main() fclose( outf ); } - // Diacritic folding - { - FILE * inf = fopen( "DiacriticFolding.txt", "r" ); - - if ( !inf ) { - fprintf( stderr, "Failed to open DiacriticFolding.txt\n" ); - - return 1; - } - - char buf[ 4096 ]; - - map< char32_t, Node > forest; - - while ( fgets( buf, sizeof( buf ), inf ) ) { - if ( *buf == '#' || *buf == '\n' ) - continue; // A comment or a whiteline - - unsigned long in[ 4 ], out; - - unsigned totalIn; - - if ( sscanf( buf, "%lx %lx %lx %lx; %lx", in, in + 1, in + 2, in + 3, &out ) == 5 ) { - fprintf( stderr, - "Four input chars ecountered in DiacriticFolding.txt, which we expected" - "the file didn't have, make changes into the program.\n" ); - - return 1; - } - else if ( sscanf( buf, "%lx %lx %lx; %lx", in, in + 1, in + 2, &out ) == 4 ) - totalIn = 3; - else if ( sscanf( buf, "%lx %lx; %lx", in, in + 1, &out ) == 3 ) - totalIn = 2; - else if ( sscanf( buf, "%lx; %lx", in, &out ) == 2 ) - totalIn = 1; - else { - fprintf( stderr, "Erroneous input in DiacriticFolding.txt: %s\n", buf ); - - return 1; - } - - map< char32_t, Node > * cur = &forest; - - for ( unsigned x = 0; x < totalIn - 1; ++x ) { - //printf( "%x ", in[ x ] ); - - cur = &( ( *cur )[ in[ x ] ].nodes ); - } - - //printf( "%x\n", in[ totalIn - 1 ] ); - - if ( ( *cur )[ in[ totalIn - 1 ] ].tail ) { - fprintf( stderr, "Ambiguity in DiacriticFolding.txt\n" ); - return 1; - } - - ( *cur )[ in[ totalIn - 1 ] ].tail = out; - } - fclose( inf ); - - // Create an outfile - - FILE * outf = fopen( "../inc_diacritic_folding.hh", "w" ); - - if ( !outf ) { - fprintf( stderr, "Failed to create outfile\n" ); - - return 1; - } - - fprintf( outf, "// This file was generated automatically. Do not edit directly.\n\n" ); - - fprintf( outf, "enum { foldDiacriticMaxIn = 3 };\n\n" ); - fprintf( outf, "wchar foldDiacritic( wchar const * in, size_t size, size_t & consumed )\n{\n" ); - - handleForest( outf, forest, 0, 1 ); - - fprintf( outf, - " if ( size )\n" - " {\n" - " consumed = 1; return *in;\n" - " }\n" - " consumed = 0; return 0;\n" - "}\n" ); - - fclose( outf ); - } - return 0; }