You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2017/01/09 16:22:03 UTC
[29/50] [abbrv] incubator-unomi git commit: - Introduce a new save
method that supports batching - Use new save method batching to import
Geonames (a lot) faster - Replace slow running ASCIIFoldingFilter call with
faster MappingCharFilter call. See https
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ac2c9ba5/persistence-elasticsearch/core/src/main/resources/mapping-FoldToASCII.txt
----------------------------------------------------------------------
diff --git a/persistence-elasticsearch/core/src/main/resources/mapping-FoldToASCII.txt b/persistence-elasticsearch/core/src/main/resources/mapping-FoldToASCII.txt
new file mode 100644
index 0000000..9a84b6e
--- /dev/null
+++ b/persistence-elasticsearch/core/src/main/resources/mapping-FoldToASCII.txt
@@ -0,0 +1,3813 @@
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# This map converts alphabetic, numeric, and symbolic Unicode characters
+# which are not in the first 127 ASCII characters (the "Basic Latin" Unicode
+# block) into their ASCII equivalents, if one exists.
+#
+# Characters from the following Unicode blocks are converted; however, only
+# those characters with reasonable ASCII alternatives are converted:
+#
+# - C1 Controls and Latin-1 Supplement: http://www.unicode.org/charts/PDF/U0080.pdf
+# - Latin Extended-A: http://www.unicode.org/charts/PDF/U0100.pdf
+# - Latin Extended-B: http://www.unicode.org/charts/PDF/U0180.pdf
+# - Latin Extended Additional: http://www.unicode.org/charts/PDF/U1E00.pdf
+# - Latin Extended-C: http://www.unicode.org/charts/PDF/U2C60.pdf
+# - Latin Extended-D: http://www.unicode.org/charts/PDF/UA720.pdf
+# - IPA Extensions: http://www.unicode.org/charts/PDF/U0250.pdf
+# - Phonetic Extensions: http://www.unicode.org/charts/PDF/U1D00.pdf
+# - Phonetic Extensions Supplement: http://www.unicode.org/charts/PDF/U1D80.pdf
+# - General Punctuation: http://www.unicode.org/charts/PDF/U2000.pdf
+# - Superscripts and Subscripts: http://www.unicode.org/charts/PDF/U2070.pdf
+# - Enclosed Alphanumerics: http://www.unicode.org/charts/PDF/U2460.pdf
+# - Dingbats: http://www.unicode.org/charts/PDF/U2700.pdf
+# - Supplemental Punctuation: http://www.unicode.org/charts/PDF/U2E00.pdf
+# - Alphabetic Presentation Forms: http://www.unicode.org/charts/PDF/UFB00.pdf
+# - Halfwidth and Fullwidth Forms: http://www.unicode.org/charts/PDF/UFF00.pdf
+#
+# See: http://en.wikipedia.org/wiki/Latin_characters_in_Unicode
+#
+# The set of character conversions supported by this map is a superset of
+# those supported by the map represented by mapping-ISOLatin1Accent.txt.
+#
+# See the bottom of this file for the Perl script used to generate the contents
+# of this file (without this header) from ASCIIFoldingFilter.java.
+
+
+# Syntax:
+# "source" => "target"
+# "source".length() > 0 (source cannot be empty.)
+# "target".length() >= 0 (target can be empty.)
+
+
+# � [LATIN CAPITAL LETTER A WITH GRAVE]
+"\u00C0" => "A"
+
+# � [LATIN CAPITAL LETTER A WITH ACUTE]
+"\u00C1" => "A"
+
+# � [LATIN CAPITAL LETTER A WITH CIRCUMFLEX]
+"\u00C2" => "A"
+
+# � [LATIN CAPITAL LETTER A WITH TILDE]
+"\u00C3" => "A"
+
+# � [LATIN CAPITAL LETTER A WITH DIAERESIS]
+"\u00C4" => "A"
+
+# � [LATIN CAPITAL LETTER A WITH RING ABOVE]
+"\u00C5" => "A"
+
+# \u0100 [LATIN CAPITAL LETTER A WITH MACRON]
+"\u0100" => "A"
+
+# \u0102 [LATIN CAPITAL LETTER A WITH BREVE]
+"\u0102" => "A"
+
+# \u0104 [LATIN CAPITAL LETTER A WITH OGONEK]
+"\u0104" => "A"
+
+# \u018f http://en.wikipedia.org/wiki/Schwa [LATIN CAPITAL LETTER SCHWA]
+"\u018F" => "A"
+
+# \u01cd [LATIN CAPITAL LETTER A WITH CARON]
+"\u01CD" => "A"
+
+# \u01de [LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON]
+"\u01DE" => "A"
+
+# \u01e0 [LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON]
+"\u01E0" => "A"
+
+# \u01fa [LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE]
+"\u01FA" => "A"
+
+# \u0200 [LATIN CAPITAL LETTER A WITH DOUBLE GRAVE]
+"\u0200" => "A"
+
+# \u0202 [LATIN CAPITAL LETTER A WITH INVERTED BREVE]
+"\u0202" => "A"
+
+# \u0226 [LATIN CAPITAL LETTER A WITH DOT ABOVE]
+"\u0226" => "A"
+
+# \u023a [LATIN CAPITAL LETTER A WITH STROKE]
+"\u023A" => "A"
+
+# \u1d00 [LATIN LETTER SMALL CAPITAL A]
+"\u1D00" => "A"
+
+# \u1e00 [LATIN CAPITAL LETTER A WITH RING BELOW]
+"\u1E00" => "A"
+
+# \u1ea0 [LATIN CAPITAL LETTER A WITH DOT BELOW]
+"\u1EA0" => "A"
+
+# \u1ea2 [LATIN CAPITAL LETTER A WITH HOOK ABOVE]
+"\u1EA2" => "A"
+
+# \u1ea4 [LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE]
+"\u1EA4" => "A"
+
+# \u1ea6 [LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE]
+"\u1EA6" => "A"
+
+# \u1ea8 [LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE]
+"\u1EA8" => "A"
+
+# \u1eaa [LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE]
+"\u1EAA" => "A"
+
+# \u1eac [LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW]
+"\u1EAC" => "A"
+
+# \u1eae [LATIN CAPITAL LETTER A WITH BREVE AND ACUTE]
+"\u1EAE" => "A"
+
+# \u1eb0 [LATIN CAPITAL LETTER A WITH BREVE AND GRAVE]
+"\u1EB0" => "A"
+
+# \u1eb2 [LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE]
+"\u1EB2" => "A"
+
+# \u1eb4 [LATIN CAPITAL LETTER A WITH BREVE AND TILDE]
+"\u1EB4" => "A"
+
+# \u1eb6 [LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW]
+"\u1EB6" => "A"
+
+# \u24b6 [CIRCLED LATIN CAPITAL LETTER A]
+"\u24B6" => "A"
+
+# \uff21 [FULLWIDTH LATIN CAPITAL LETTER A]
+"\uFF21" => "A"
+
+# � [LATIN SMALL LETTER A WITH GRAVE]
+"\u00E0" => "a"
+
+# � [LATIN SMALL LETTER A WITH ACUTE]
+"\u00E1" => "a"
+
+# � [LATIN SMALL LETTER A WITH CIRCUMFLEX]
+"\u00E2" => "a"
+
+# � [LATIN SMALL LETTER A WITH TILDE]
+"\u00E3" => "a"
+
+# � [LATIN SMALL LETTER A WITH DIAERESIS]
+"\u00E4" => "a"
+
+# � [LATIN SMALL LETTER A WITH RING ABOVE]
+"\u00E5" => "a"
+
+# \u0101 [LATIN SMALL LETTER A WITH MACRON]
+"\u0101" => "a"
+
+# \u0103 [LATIN SMALL LETTER A WITH BREVE]
+"\u0103" => "a"
+
+# \u0105 [LATIN SMALL LETTER A WITH OGONEK]
+"\u0105" => "a"
+
+# \u01ce [LATIN SMALL LETTER A WITH CARON]
+"\u01CE" => "a"
+
+# \u01df [LATIN SMALL LETTER A WITH DIAERESIS AND MACRON]
+"\u01DF" => "a"
+
+# \u01e1 [LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON]
+"\u01E1" => "a"
+
+# \u01fb [LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE]
+"\u01FB" => "a"
+
+# \u0201 [LATIN SMALL LETTER A WITH DOUBLE GRAVE]
+"\u0201" => "a"
+
+# \u0203 [LATIN SMALL LETTER A WITH INVERTED BREVE]
+"\u0203" => "a"
+
+# \u0227 [LATIN SMALL LETTER A WITH DOT ABOVE]
+"\u0227" => "a"
+
+# \u0250 [LATIN SMALL LETTER TURNED A]
+"\u0250" => "a"
+
+# \u0259 [LATIN SMALL LETTER SCHWA]
+"\u0259" => "a"
+
+# \u025a [LATIN SMALL LETTER SCHWA WITH HOOK]
+"\u025A" => "a"
+
+# \u1d8f [LATIN SMALL LETTER A WITH RETROFLEX HOOK]
+"\u1D8F" => "a"
+
+# \u1d95 [LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK]
+"\u1D95" => "a"
+
+# \u1ea1 [LATIN SMALL LETTER A WITH RING BELOW]
+"\u1E01" => "a"
+
+# \u1ea3 [LATIN SMALL LETTER A WITH RIGHT HALF RING]
+"\u1E9A" => "a"
+
+# \u1ea1 [LATIN SMALL LETTER A WITH DOT BELOW]
+"\u1EA1" => "a"
+
+# \u1ea3 [LATIN SMALL LETTER A WITH HOOK ABOVE]
+"\u1EA3" => "a"
+
+# \u1ea5 [LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE]
+"\u1EA5" => "a"
+
+# \u1ea7 [LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE]
+"\u1EA7" => "a"
+
+# \u1ea9 [LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE]
+"\u1EA9" => "a"
+
+# \u1eab [LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE]
+"\u1EAB" => "a"
+
+# \u1ead [LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW]
+"\u1EAD" => "a"
+
+# \u1eaf [LATIN SMALL LETTER A WITH BREVE AND ACUTE]
+"\u1EAF" => "a"
+
+# \u1eb1 [LATIN SMALL LETTER A WITH BREVE AND GRAVE]
+"\u1EB1" => "a"
+
+# \u1eb3 [LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE]
+"\u1EB3" => "a"
+
+# \u1eb5 [LATIN SMALL LETTER A WITH BREVE AND TILDE]
+"\u1EB5" => "a"
+
+# \u1eb7 [LATIN SMALL LETTER A WITH BREVE AND DOT BELOW]
+"\u1EB7" => "a"
+
+# \u2090 [LATIN SUBSCRIPT SMALL LETTER A]
+"\u2090" => "a"
+
+# \u2094 [LATIN SUBSCRIPT SMALL LETTER SCHWA]
+"\u2094" => "a"
+
+# \u24d0 [CIRCLED LATIN SMALL LETTER A]
+"\u24D0" => "a"
+
+# \u2c65 [LATIN SMALL LETTER A WITH STROKE]
+"\u2C65" => "a"
+
+# \u2c6f [LATIN CAPITAL LETTER TURNED A]
+"\u2C6F" => "a"
+
+# \uff41 [FULLWIDTH LATIN SMALL LETTER A]
+"\uFF41" => "a"
+
+# \ua732 [LATIN CAPITAL LETTER AA]
+"\uA732" => "AA"
+
+# � [LATIN CAPITAL LETTER AE]
+"\u00C6" => "AE"
+
+# \u01e2 [LATIN CAPITAL LETTER AE WITH MACRON]
+"\u01E2" => "AE"
+
+# \u01fc [LATIN CAPITAL LETTER AE WITH ACUTE]
+"\u01FC" => "AE"
+
+# \u1d01 [LATIN LETTER SMALL CAPITAL AE]
+"\u1D01" => "AE"
+
+# \ua734 [LATIN CAPITAL LETTER AO]
+"\uA734" => "AO"
+
+# \ua736 [LATIN CAPITAL LETTER AU]
+"\uA736" => "AU"
+
+# \ua738 [LATIN CAPITAL LETTER AV]
+"\uA738" => "AV"
+
+# \ua73a [LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR]
+"\uA73A" => "AV"
+
+# \ua73c [LATIN CAPITAL LETTER AY]
+"\uA73C" => "AY"
+
+# \u249c [PARENTHESIZED LATIN SMALL LETTER A]
+"\u249C" => "(a)"
+
+# \ua733 [LATIN SMALL LETTER AA]
+"\uA733" => "aa"
+
+# � [LATIN SMALL LETTER AE]
+"\u00E6" => "ae"
+
+# \u01e3 [LATIN SMALL LETTER AE WITH MACRON]
+"\u01E3" => "ae"
+
+# \u01fd [LATIN SMALL LETTER AE WITH ACUTE]
+"\u01FD" => "ae"
+
+# \u1d02 [LATIN SMALL LETTER TURNED AE]
+"\u1D02" => "ae"
+
+# \ua735 [LATIN SMALL LETTER AO]
+"\uA735" => "ao"
+
+# \ua737 [LATIN SMALL LETTER AU]
+"\uA737" => "au"
+
+# \ua739 [LATIN SMALL LETTER AV]
+"\uA739" => "av"
+
+# \ua73b [LATIN SMALL LETTER AV WITH HORIZONTAL BAR]
+"\uA73B" => "av"
+
+# \ua73d [LATIN SMALL LETTER AY]
+"\uA73D" => "ay"
+
+# \u0181 [LATIN CAPITAL LETTER B WITH HOOK]
+"\u0181" => "B"
+
+# \u0182 [LATIN CAPITAL LETTER B WITH TOPBAR]
+"\u0182" => "B"
+
+# \u0243 [LATIN CAPITAL LETTER B WITH STROKE]
+"\u0243" => "B"
+
+# \u0299 [LATIN LETTER SMALL CAPITAL B]
+"\u0299" => "B"
+
+# \u1d03 [LATIN LETTER SMALL CAPITAL BARRED B]
+"\u1D03" => "B"
+
+# \u1e02 [LATIN CAPITAL LETTER B WITH DOT ABOVE]
+"\u1E02" => "B"
+
+# \u1e04 [LATIN CAPITAL LETTER B WITH DOT BELOW]
+"\u1E04" => "B"
+
+# \u1e06 [LATIN CAPITAL LETTER B WITH LINE BELOW]
+"\u1E06" => "B"
+
+# \u24b7 [CIRCLED LATIN CAPITAL LETTER B]
+"\u24B7" => "B"
+
+# \uff22 [FULLWIDTH LATIN CAPITAL LETTER B]
+"\uFF22" => "B"
+
+# \u0180 [LATIN SMALL LETTER B WITH STROKE]
+"\u0180" => "b"
+
+# \u0183 [LATIN SMALL LETTER B WITH TOPBAR]
+"\u0183" => "b"
+
+# \u0253 [LATIN SMALL LETTER B WITH HOOK]
+"\u0253" => "b"
+
+# \u1d6c [LATIN SMALL LETTER B WITH MIDDLE TILDE]
+"\u1D6C" => "b"
+
+# \u1d80 [LATIN SMALL LETTER B WITH PALATAL HOOK]
+"\u1D80" => "b"
+
+# \u1e03 [LATIN SMALL LETTER B WITH DOT ABOVE]
+"\u1E03" => "b"
+
+# \u1e05 [LATIN SMALL LETTER B WITH DOT BELOW]
+"\u1E05" => "b"
+
+# \u1e07 [LATIN SMALL LETTER B WITH LINE BELOW]
+"\u1E07" => "b"
+
+# \u24d1 [CIRCLED LATIN SMALL LETTER B]
+"\u24D1" => "b"
+
+# \uff42 [FULLWIDTH LATIN SMALL LETTER B]
+"\uFF42" => "b"
+
+# \u249d [PARENTHESIZED LATIN SMALL LETTER B]
+"\u249D" => "(b)"
+
+# � [LATIN CAPITAL LETTER C WITH CEDILLA]
+"\u00C7" => "C"
+
+# \u0106 [LATIN CAPITAL LETTER C WITH ACUTE]
+"\u0106" => "C"
+
+# \u0108 [LATIN CAPITAL LETTER C WITH CIRCUMFLEX]
+"\u0108" => "C"
+
+# \u010a [LATIN CAPITAL LETTER C WITH DOT ABOVE]
+"\u010A" => "C"
+
+# \u010c [LATIN CAPITAL LETTER C WITH CARON]
+"\u010C" => "C"
+
+# \u0187 [LATIN CAPITAL LETTER C WITH HOOK]
+"\u0187" => "C"
+
+# \u023b [LATIN CAPITAL LETTER C WITH STROKE]
+"\u023B" => "C"
+
+# \u0297 [LATIN LETTER STRETCHED C]
+"\u0297" => "C"
+
+# \u1d04 [LATIN LETTER SMALL CAPITAL C]
+"\u1D04" => "C"
+
+# \u1e08 [LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE]
+"\u1E08" => "C"
+
+# \u24b8 [CIRCLED LATIN CAPITAL LETTER C]
+"\u24B8" => "C"
+
+# \uff23 [FULLWIDTH LATIN CAPITAL LETTER C]
+"\uFF23" => "C"
+
+# � [LATIN SMALL LETTER C WITH CEDILLA]
+"\u00E7" => "c"
+
+# \u0107 [LATIN SMALL LETTER C WITH ACUTE]
+"\u0107" => "c"
+
+# \u0109 [LATIN SMALL LETTER C WITH CIRCUMFLEX]
+"\u0109" => "c"
+
+# \u010b [LATIN SMALL LETTER C WITH DOT ABOVE]
+"\u010B" => "c"
+
+# \u010d [LATIN SMALL LETTER C WITH CARON]
+"\u010D" => "c"
+
+# \u0188 [LATIN SMALL LETTER C WITH HOOK]
+"\u0188" => "c"
+
+# \u023c [LATIN SMALL LETTER C WITH STROKE]
+"\u023C" => "c"
+
+# \u0255 [LATIN SMALL LETTER C WITH CURL]
+"\u0255" => "c"
+
+# \u1e09 [LATIN SMALL LETTER C WITH CEDILLA AND ACUTE]
+"\u1E09" => "c"
+
+# \u2184 [LATIN SMALL LETTER REVERSED C]
+"\u2184" => "c"
+
+# \u24d2 [CIRCLED LATIN SMALL LETTER C]
+"\u24D2" => "c"
+
+# \ua73e [LATIN CAPITAL LETTER REVERSED C WITH DOT]
+"\uA73E" => "c"
+
+# \ua73f [LATIN SMALL LETTER REVERSED C WITH DOT]
+"\uA73F" => "c"
+
+# \uff43 [FULLWIDTH LATIN SMALL LETTER C]
+"\uFF43" => "c"
+
+# \u249e [PARENTHESIZED LATIN SMALL LETTER C]
+"\u249E" => "(c)"
+
+# � [LATIN CAPITAL LETTER ETH]
+"\u00D0" => "D"
+
+# \u010e [LATIN CAPITAL LETTER D WITH CARON]
+"\u010E" => "D"
+
+# \u0110 [LATIN CAPITAL LETTER D WITH STROKE]
+"\u0110" => "D"
+
+# \u0189 [LATIN CAPITAL LETTER AFRICAN D]
+"\u0189" => "D"
+
+# \u018a [LATIN CAPITAL LETTER D WITH HOOK]
+"\u018A" => "D"
+
+# \u018b [LATIN CAPITAL LETTER D WITH TOPBAR]
+"\u018B" => "D"
+
+# \u1d05 [LATIN LETTER SMALL CAPITAL D]
+"\u1D05" => "D"
+
+# \u1d06 [LATIN LETTER SMALL CAPITAL ETH]
+"\u1D06" => "D"
+
+# \u1e0a [LATIN CAPITAL LETTER D WITH DOT ABOVE]
+"\u1E0A" => "D"
+
+# \u1e0c [LATIN CAPITAL LETTER D WITH DOT BELOW]
+"\u1E0C" => "D"
+
+# \u1e0e [LATIN CAPITAL LETTER D WITH LINE BELOW]
+"\u1E0E" => "D"
+
+# \u1e10 [LATIN CAPITAL LETTER D WITH CEDILLA]
+"\u1E10" => "D"
+
+# \u1e12 [LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW]
+"\u1E12" => "D"
+
+# \u24b9 [CIRCLED LATIN CAPITAL LETTER D]
+"\u24B9" => "D"
+
+# \ua779 [LATIN CAPITAL LETTER INSULAR D]
+"\uA779" => "D"
+
+# \uff24 [FULLWIDTH LATIN CAPITAL LETTER D]
+"\uFF24" => "D"
+
+# � [LATIN SMALL LETTER ETH]
+"\u00F0" => "d"
+
+# \u010f [LATIN SMALL LETTER D WITH CARON]
+"\u010F" => "d"
+
+# \u0111 [LATIN SMALL LETTER D WITH STROKE]
+"\u0111" => "d"
+
+# \u018c [LATIN SMALL LETTER D WITH TOPBAR]
+"\u018C" => "d"
+
+# \u0221 [LATIN SMALL LETTER D WITH CURL]
+"\u0221" => "d"
+
+# \u0256 [LATIN SMALL LETTER D WITH TAIL]
+"\u0256" => "d"
+
+# \u0257 [LATIN SMALL LETTER D WITH HOOK]
+"\u0257" => "d"
+
+# \u1d6d [LATIN SMALL LETTER D WITH MIDDLE TILDE]
+"\u1D6D" => "d"
+
+# \u1d81 [LATIN SMALL LETTER D WITH PALATAL HOOK]
+"\u1D81" => "d"
+
+# \u1d91 [LATIN SMALL LETTER D WITH HOOK AND TAIL]
+"\u1D91" => "d"
+
+# \u1e0b [LATIN SMALL LETTER D WITH DOT ABOVE]
+"\u1E0B" => "d"
+
+# \u1e0d [LATIN SMALL LETTER D WITH DOT BELOW]
+"\u1E0D" => "d"
+
+# \u1e0f [LATIN SMALL LETTER D WITH LINE BELOW]
+"\u1E0F" => "d"
+
+# \u1e11 [LATIN SMALL LETTER D WITH CEDILLA]
+"\u1E11" => "d"
+
+# \u1e13 [LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW]
+"\u1E13" => "d"
+
+# \u24d3 [CIRCLED LATIN SMALL LETTER D]
+"\u24D3" => "d"
+
+# \ua77a [LATIN SMALL LETTER INSULAR D]
+"\uA77A" => "d"
+
+# \uff44 [FULLWIDTH LATIN SMALL LETTER D]
+"\uFF44" => "d"
+
+# \u01c4 [LATIN CAPITAL LETTER DZ WITH CARON]
+"\u01C4" => "DZ"
+
+# \u01f1 [LATIN CAPITAL LETTER DZ]
+"\u01F1" => "DZ"
+
+# \u01c5 [LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON]
+"\u01C5" => "Dz"
+
+# \u01f2 [LATIN CAPITAL LETTER D WITH SMALL LETTER Z]
+"\u01F2" => "Dz"
+
+# \u249f [PARENTHESIZED LATIN SMALL LETTER D]
+"\u249F" => "(d)"
+
+# \u0238 [LATIN SMALL LETTER DB DIGRAPH]
+"\u0238" => "db"
+
+# \u01c6 [LATIN SMALL LETTER DZ WITH CARON]
+"\u01C6" => "dz"
+
+# \u01f3 [LATIN SMALL LETTER DZ]
+"\u01F3" => "dz"
+
+# \u02a3 [LATIN SMALL LETTER DZ DIGRAPH]
+"\u02A3" => "dz"
+
+# \u02a5 [LATIN SMALL LETTER DZ DIGRAPH WITH CURL]
+"\u02A5" => "dz"
+
+# � [LATIN CAPITAL LETTER E WITH GRAVE]
+"\u00C8" => "E"
+
+# � [LATIN CAPITAL LETTER E WITH ACUTE]
+"\u00C9" => "E"
+
+# � [LATIN CAPITAL LETTER E WITH CIRCUMFLEX]
+"\u00CA" => "E"
+
+# � [LATIN CAPITAL LETTER E WITH DIAERESIS]
+"\u00CB" => "E"
+
+# \u0112 [LATIN CAPITAL LETTER E WITH MACRON]
+"\u0112" => "E"
+
+# \u0114 [LATIN CAPITAL LETTER E WITH BREVE]
+"\u0114" => "E"
+
+# \u0116 [LATIN CAPITAL LETTER E WITH DOT ABOVE]
+"\u0116" => "E"
+
+# \u0118 [LATIN CAPITAL LETTER E WITH OGONEK]
+"\u0118" => "E"
+
+# \u011a [LATIN CAPITAL LETTER E WITH CARON]
+"\u011A" => "E"
+
+# \u018e [LATIN CAPITAL LETTER REVERSED E]
+"\u018E" => "E"
+
+# \u0190 [LATIN CAPITAL LETTER OPEN E]
+"\u0190" => "E"
+
+# \u0204 [LATIN CAPITAL LETTER E WITH DOUBLE GRAVE]
+"\u0204" => "E"
+
+# \u0206 [LATIN CAPITAL LETTER E WITH INVERTED BREVE]
+"\u0206" => "E"
+
+# \u0228 [LATIN CAPITAL LETTER E WITH CEDILLA]
+"\u0228" => "E"
+
+# \u0246 [LATIN CAPITAL LETTER E WITH STROKE]
+"\u0246" => "E"
+
+# \u1d07 [LATIN LETTER SMALL CAPITAL E]
+"\u1D07" => "E"
+
+# \u1e14 [LATIN CAPITAL LETTER E WITH MACRON AND GRAVE]
+"\u1E14" => "E"
+
+# \u1e16 [LATIN CAPITAL LETTER E WITH MACRON AND ACUTE]
+"\u1E16" => "E"
+
+# \u1e18 [LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW]
+"\u1E18" => "E"
+
+# \u1e1a [LATIN CAPITAL LETTER E WITH TILDE BELOW]
+"\u1E1A" => "E"
+
+# \u1e1c [LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE]
+"\u1E1C" => "E"
+
+# \u1eb8 [LATIN CAPITAL LETTER E WITH DOT BELOW]
+"\u1EB8" => "E"
+
+# \u1eba [LATIN CAPITAL LETTER E WITH HOOK ABOVE]
+"\u1EBA" => "E"
+
+# \u1ebc [LATIN CAPITAL LETTER E WITH TILDE]
+"\u1EBC" => "E"
+
+# \u1ebe [LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE]
+"\u1EBE" => "E"
+
+# \u1ec0 [LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE]
+"\u1EC0" => "E"
+
+# \u1ec2 [LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE]
+"\u1EC2" => "E"
+
+# \u1ec4 [LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE]
+"\u1EC4" => "E"
+
+# \u1ec6 [LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW]
+"\u1EC6" => "E"
+
+# \u24ba [CIRCLED LATIN CAPITAL LETTER E]
+"\u24BA" => "E"
+
+# \u2c7b [LATIN LETTER SMALL CAPITAL TURNED E]
+"\u2C7B" => "E"
+
+# \uff25 [FULLWIDTH LATIN CAPITAL LETTER E]
+"\uFF25" => "E"
+
+# � [LATIN SMALL LETTER E WITH GRAVE]
+"\u00E8" => "e"
+
+# � [LATIN SMALL LETTER E WITH ACUTE]
+"\u00E9" => "e"
+
+# � [LATIN SMALL LETTER E WITH CIRCUMFLEX]
+"\u00EA" => "e"
+
+# � [LATIN SMALL LETTER E WITH DIAERESIS]
+"\u00EB" => "e"
+
+# \u0113 [LATIN SMALL LETTER E WITH MACRON]
+"\u0113" => "e"
+
+# \u0115 [LATIN SMALL LETTER E WITH BREVE]
+"\u0115" => "e"
+
+# \u0117 [LATIN SMALL LETTER E WITH DOT ABOVE]
+"\u0117" => "e"
+
+# \u0119 [LATIN SMALL LETTER E WITH OGONEK]
+"\u0119" => "e"
+
+# \u011b [LATIN SMALL LETTER E WITH CARON]
+"\u011B" => "e"
+
+# \u01dd [LATIN SMALL LETTER TURNED E]
+"\u01DD" => "e"
+
+# \u0205 [LATIN SMALL LETTER E WITH DOUBLE GRAVE]
+"\u0205" => "e"
+
+# \u0207 [LATIN SMALL LETTER E WITH INVERTED BREVE]
+"\u0207" => "e"
+
+# \u0229 [LATIN SMALL LETTER E WITH CEDILLA]
+"\u0229" => "e"
+
+# \u0247 [LATIN SMALL LETTER E WITH STROKE]
+"\u0247" => "e"
+
+# \u0258 [LATIN SMALL LETTER REVERSED E]
+"\u0258" => "e"
+
+# \u025b [LATIN SMALL LETTER OPEN E]
+"\u025B" => "e"
+
+# \u025c [LATIN SMALL LETTER REVERSED OPEN E]
+"\u025C" => "e"
+
+# \u025d [LATIN SMALL LETTER REVERSED OPEN E WITH HOOK]
+"\u025D" => "e"
+
+# \u025e [LATIN SMALL LETTER CLOSED REVERSED OPEN E]
+"\u025E" => "e"
+
+# \u029a [LATIN SMALL LETTER CLOSED OPEN E]
+"\u029A" => "e"
+
+# \u1d08 [LATIN SMALL LETTER TURNED OPEN E]
+"\u1D08" => "e"
+
+# \u1d92 [LATIN SMALL LETTER E WITH RETROFLEX HOOK]
+"\u1D92" => "e"
+
+# \u1d93 [LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK]
+"\u1D93" => "e"
+
+# \u1d94 [LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK]
+"\u1D94" => "e"
+
+# \u1e15 [LATIN SMALL LETTER E WITH MACRON AND GRAVE]
+"\u1E15" => "e"
+
+# \u1e17 [LATIN SMALL LETTER E WITH MACRON AND ACUTE]
+"\u1E17" => "e"
+
+# \u1e19 [LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW]
+"\u1E19" => "e"
+
+# \u1e1b [LATIN SMALL LETTER E WITH TILDE BELOW]
+"\u1E1B" => "e"
+
+# \u1e1d [LATIN SMALL LETTER E WITH CEDILLA AND BREVE]
+"\u1E1D" => "e"
+
+# \u1eb9 [LATIN SMALL LETTER E WITH DOT BELOW]
+"\u1EB9" => "e"
+
+# \u1ebb [LATIN SMALL LETTER E WITH HOOK ABOVE]
+"\u1EBB" => "e"
+
+# \u1ebd [LATIN SMALL LETTER E WITH TILDE]
+"\u1EBD" => "e"
+
+# \u1ebf [LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE]
+"\u1EBF" => "e"
+
+# \u1ec1 [LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE]
+"\u1EC1" => "e"
+
+# \u1ec3 [LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE]
+"\u1EC3" => "e"
+
+# \u1ec5 [LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE]
+"\u1EC5" => "e"
+
+# \u1ec7 [LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW]
+"\u1EC7" => "e"
+
+# \u2091 [LATIN SUBSCRIPT SMALL LETTER E]
+"\u2091" => "e"
+
+# \u24d4 [CIRCLED LATIN SMALL LETTER E]
+"\u24D4" => "e"
+
+# \u2c78 [LATIN SMALL LETTER E WITH NOTCH]
+"\u2C78" => "e"
+
+# \uff45 [FULLWIDTH LATIN SMALL LETTER E]
+"\uFF45" => "e"
+
+# \u24a0 [PARENTHESIZED LATIN SMALL LETTER E]
+"\u24A0" => "(e)"
+
+# \u0191 [LATIN CAPITAL LETTER F WITH HOOK]
+"\u0191" => "F"
+
+# \u1e1e [LATIN CAPITAL LETTER F WITH DOT ABOVE]
+"\u1E1E" => "F"
+
+# \u24bb [CIRCLED LATIN CAPITAL LETTER F]
+"\u24BB" => "F"
+
+# \ua730 [LATIN LETTER SMALL CAPITAL F]
+"\uA730" => "F"
+
+# \ua77b [LATIN CAPITAL LETTER INSULAR F]
+"\uA77B" => "F"
+
+# \ua7fb [LATIN EPIGRAPHIC LETTER REVERSED F]
+"\uA7FB" => "F"
+
+# \uff26 [FULLWIDTH LATIN CAPITAL LETTER F]
+"\uFF26" => "F"
+
+# \u0192 [LATIN SMALL LETTER F WITH HOOK]
+"\u0192" => "f"
+
+# \u1d6e [LATIN SMALL LETTER F WITH MIDDLE TILDE]
+"\u1D6E" => "f"
+
+# \u1d82 [LATIN SMALL LETTER F WITH PALATAL HOOK]
+"\u1D82" => "f"
+
+# \u1e1f [LATIN SMALL LETTER F WITH DOT ABOVE]
+"\u1E1F" => "f"
+
+# \u1e9b [LATIN SMALL LETTER LONG S WITH DOT ABOVE]
+"\u1E9B" => "f"
+
+# \u24d5 [CIRCLED LATIN SMALL LETTER F]
+"\u24D5" => "f"
+
+# \ua77c [LATIN SMALL LETTER INSULAR F]
+"\uA77C" => "f"
+
+# \uff46 [FULLWIDTH LATIN SMALL LETTER F]
+"\uFF46" => "f"
+
+# \u24a1 [PARENTHESIZED LATIN SMALL LETTER F]
+"\u24A1" => "(f)"
+
+# \ufb00 [LATIN SMALL LIGATURE FF]
+"\uFB00" => "ff"
+
+# \ufb03 [LATIN SMALL LIGATURE FFI]
+"\uFB03" => "ffi"
+
+# \ufb04 [LATIN SMALL LIGATURE FFL]
+"\uFB04" => "ffl"
+
+# \ufb01 [LATIN SMALL LIGATURE FI]
+"\uFB01" => "fi"
+
+# \ufb02 [LATIN SMALL LIGATURE FL]
+"\uFB02" => "fl"
+
+# \u011c [LATIN CAPITAL LETTER G WITH CIRCUMFLEX]
+"\u011C" => "G"
+
+# \u011e [LATIN CAPITAL LETTER G WITH BREVE]
+"\u011E" => "G"
+
+# \u0120 [LATIN CAPITAL LETTER G WITH DOT ABOVE]
+"\u0120" => "G"
+
+# \u0122 [LATIN CAPITAL LETTER G WITH CEDILLA]
+"\u0122" => "G"
+
+# \u0193 [LATIN CAPITAL LETTER G WITH HOOK]
+"\u0193" => "G"
+
+# \u01e4 [LATIN CAPITAL LETTER G WITH STROKE]
+"\u01E4" => "G"
+
+# \u01e5 [LATIN SMALL LETTER G WITH STROKE]
+"\u01E5" => "G"
+
+# \u01e6 [LATIN CAPITAL LETTER G WITH CARON]
+"\u01E6" => "G"
+
+# \u01e7 [LATIN SMALL LETTER G WITH CARON]
+"\u01E7" => "G"
+
+# \u01f4 [LATIN CAPITAL LETTER G WITH ACUTE]
+"\u01F4" => "G"
+
+# \u0262 [LATIN LETTER SMALL CAPITAL G]
+"\u0262" => "G"
+
+# \u029b [LATIN LETTER SMALL CAPITAL G WITH HOOK]
+"\u029B" => "G"
+
+# \u1e20 [LATIN CAPITAL LETTER G WITH MACRON]
+"\u1E20" => "G"
+
+# \u24bc [CIRCLED LATIN CAPITAL LETTER G]
+"\u24BC" => "G"
+
+# \ua77d [LATIN CAPITAL LETTER INSULAR G]
+"\uA77D" => "G"
+
+# \ua77e [LATIN CAPITAL LETTER TURNED INSULAR G]
+"\uA77E" => "G"
+
+# \uff27 [FULLWIDTH LATIN CAPITAL LETTER G]
+"\uFF27" => "G"
+
+# \u011d [LATIN SMALL LETTER G WITH CIRCUMFLEX]
+"\u011D" => "g"
+
+# \u011f [LATIN SMALL LETTER G WITH BREVE]
+"\u011F" => "g"
+
+# \u0121 [LATIN SMALL LETTER G WITH DOT ABOVE]
+"\u0121" => "g"
+
+# \u0123 [LATIN SMALL LETTER G WITH CEDILLA]
+"\u0123" => "g"
+
+# \u01f5 [LATIN SMALL LETTER G WITH ACUTE]
+"\u01F5" => "g"
+
+# \u0260 [LATIN SMALL LETTER G WITH HOOK]
+"\u0260" => "g"
+
+# \u0261 [LATIN SMALL LETTER SCRIPT G]
+"\u0261" => "g"
+
+# \u1d77 [LATIN SMALL LETTER TURNED G]
+"\u1D77" => "g"
+
+# \u1d79 [LATIN SMALL LETTER INSULAR G]
+"\u1D79" => "g"
+
+# \u1d83 [LATIN SMALL LETTER G WITH PALATAL HOOK]
+"\u1D83" => "g"
+
+# \u1e21 [LATIN SMALL LETTER G WITH MACRON]
+"\u1E21" => "g"
+
+# \u24d6 [CIRCLED LATIN SMALL LETTER G]
+"\u24D6" => "g"
+
+# \ua77f [LATIN SMALL LETTER TURNED INSULAR G]
+"\uA77F" => "g"
+
+# \uff47 [FULLWIDTH LATIN SMALL LETTER G]
+"\uFF47" => "g"
+
+# \u24a2 [PARENTHESIZED LATIN SMALL LETTER G]
+"\u24A2" => "(g)"
+
+# \u0124 [LATIN CAPITAL LETTER H WITH CIRCUMFLEX]
+"\u0124" => "H"
+
+# \u0126 [LATIN CAPITAL LETTER H WITH STROKE]
+"\u0126" => "H"
+
+# \u021e [LATIN CAPITAL LETTER H WITH CARON]
+"\u021E" => "H"
+
+# \u029c [LATIN LETTER SMALL CAPITAL H]
+"\u029C" => "H"
+
+# \u1e22 [LATIN CAPITAL LETTER H WITH DOT ABOVE]
+"\u1E22" => "H"
+
+# \u1e24 [LATIN CAPITAL LETTER H WITH DOT BELOW]
+"\u1E24" => "H"
+
+# \u1e26 [LATIN CAPITAL LETTER H WITH DIAERESIS]
+"\u1E26" => "H"
+
+# \u1e28 [LATIN CAPITAL LETTER H WITH CEDILLA]
+"\u1E28" => "H"
+
+# \u1e2a [LATIN CAPITAL LETTER H WITH BREVE BELOW]
+"\u1E2A" => "H"
+
+# \u24bd [CIRCLED LATIN CAPITAL LETTER H]
+"\u24BD" => "H"
+
+# \u2c67 [LATIN CAPITAL LETTER H WITH DESCENDER]
+"\u2C67" => "H"
+
+# \u2c75 [LATIN CAPITAL LETTER HALF H]
+"\u2C75" => "H"
+
+# \uff28 [FULLWIDTH LATIN CAPITAL LETTER H]
+"\uFF28" => "H"
+
+# \u0125 [LATIN SMALL LETTER H WITH CIRCUMFLEX]
+"\u0125" => "h"
+
+# \u0127 [LATIN SMALL LETTER H WITH STROKE]
+"\u0127" => "h"
+
+# \u021f [LATIN SMALL LETTER H WITH CARON]
+"\u021F" => "h"
+
+# \u0265 [LATIN SMALL LETTER TURNED H]
+"\u0265" => "h"
+
+# \u0266 [LATIN SMALL LETTER H WITH HOOK]
+"\u0266" => "h"
+
+# \u02ae [LATIN SMALL LETTER TURNED H WITH FISHHOOK]
+"\u02AE" => "h"
+
+# \u02af [LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL]
+"\u02AF" => "h"
+
+# \u1e23 [LATIN SMALL LETTER H WITH DOT ABOVE]
+"\u1E23" => "h"
+
+# \u1e25 [LATIN SMALL LETTER H WITH DOT BELOW]
+"\u1E25" => "h"
+
+# \u1e27 [LATIN SMALL LETTER H WITH DIAERESIS]
+"\u1E27" => "h"
+
+# \u1e29 [LATIN SMALL LETTER H WITH CEDILLA]
+"\u1E29" => "h"
+
+# \u1e2b [LATIN SMALL LETTER H WITH BREVE BELOW]
+"\u1E2B" => "h"
+
+# \u1e96 [LATIN SMALL LETTER H WITH LINE BELOW]
+"\u1E96" => "h"
+
+# \u24d7 [CIRCLED LATIN SMALL LETTER H]
+"\u24D7" => "h"
+
+# \u2c68 [LATIN SMALL LETTER H WITH DESCENDER]
+"\u2C68" => "h"
+
+# \u2c76 [LATIN SMALL LETTER HALF H]
+"\u2C76" => "h"
+
+# \uff48 [FULLWIDTH LATIN SMALL LETTER H]
+"\uFF48" => "h"
+
+# \u01f6 http://en.wikipedia.org/wiki/Hwair [LATIN CAPITAL LETTER HWAIR]
+"\u01F6" => "HV"
+
+# \u24a3 [PARENTHESIZED LATIN SMALL LETTER H]
+"\u24A3" => "(h)"
+
+# \u0195 [LATIN SMALL LETTER HV]
+"\u0195" => "hv"
+
+# � [LATIN CAPITAL LETTER I WITH GRAVE]
+"\u00CC" => "I"
+
+# � [LATIN CAPITAL LETTER I WITH ACUTE]
+"\u00CD" => "I"
+
+# � [LATIN CAPITAL LETTER I WITH CIRCUMFLEX]
+"\u00CE" => "I"
+
+# � [LATIN CAPITAL LETTER I WITH DIAERESIS]
+"\u00CF" => "I"
+
+# \u0128 [LATIN CAPITAL LETTER I WITH TILDE]
+"\u0128" => "I"
+
+# \u012a [LATIN CAPITAL LETTER I WITH MACRON]
+"\u012A" => "I"
+
+# \u012c [LATIN CAPITAL LETTER I WITH BREVE]
+"\u012C" => "I"
+
+# \u012e [LATIN CAPITAL LETTER I WITH OGONEK]
+"\u012E" => "I"
+
+# \u0130 [LATIN CAPITAL LETTER I WITH DOT ABOVE]
+"\u0130" => "I"
+
+# \u0196 [LATIN CAPITAL LETTER IOTA]
+"\u0196" => "I"
+
+# \u0197 [LATIN CAPITAL LETTER I WITH STROKE]
+"\u0197" => "I"
+
+# \u01cf [LATIN CAPITAL LETTER I WITH CARON]
+"\u01CF" => "I"
+
+# \u0208 [LATIN CAPITAL LETTER I WITH DOUBLE GRAVE]
+"\u0208" => "I"
+
+# \u020a [LATIN CAPITAL LETTER I WITH INVERTED BREVE]
+"\u020A" => "I"
+
+# \u026a [LATIN LETTER SMALL CAPITAL I]
+"\u026A" => "I"
+
+# \u1d7b [LATIN SMALL CAPITAL LETTER I WITH STROKE]
+"\u1D7B" => "I"
+
+# \u1e2c [LATIN CAPITAL LETTER I WITH TILDE BELOW]
+"\u1E2C" => "I"
+
+# \u1e2e [LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE]
+"\u1E2E" => "I"
+
+# \u1ec8 [LATIN CAPITAL LETTER I WITH HOOK ABOVE]
+"\u1EC8" => "I"
+
+# \u1eca [LATIN CAPITAL LETTER I WITH DOT BELOW]
+"\u1ECA" => "I"
+
+# \u24be [CIRCLED LATIN CAPITAL LETTER I]
+"\u24BE" => "I"
+
+# \ua7fe [LATIN EPIGRAPHIC LETTER I LONGA]
+"\uA7FE" => "I"
+
+# \uff29 [FULLWIDTH LATIN CAPITAL LETTER I]
+"\uFF29" => "I"
+
+# � [LATIN SMALL LETTER I WITH GRAVE]
+"\u00EC" => "i"
+
+# � [LATIN SMALL LETTER I WITH ACUTE]
+"\u00ED" => "i"
+
+# � [LATIN SMALL LETTER I WITH CIRCUMFLEX]
+"\u00EE" => "i"
+
+# � [LATIN SMALL LETTER I WITH DIAERESIS]
+"\u00EF" => "i"
+
+# \u0129 [LATIN SMALL LETTER I WITH TILDE]
+"\u0129" => "i"
+
+# \u012b [LATIN SMALL LETTER I WITH MACRON]
+"\u012B" => "i"
+
+# \u012d [LATIN SMALL LETTER I WITH BREVE]
+"\u012D" => "i"
+
+# \u012f [LATIN SMALL LETTER I WITH OGONEK]
+"\u012F" => "i"
+
+# \u0131 [LATIN SMALL LETTER DOTLESS I]
+"\u0131" => "i"
+
+# \u01d0 [LATIN SMALL LETTER I WITH CARON]
+"\u01D0" => "i"
+
+# \u0209 [LATIN SMALL LETTER I WITH DOUBLE GRAVE]
+"\u0209" => "i"
+
+# \u020b [LATIN SMALL LETTER I WITH INVERTED BREVE]
+"\u020B" => "i"
+
+# \u0268 [LATIN SMALL LETTER I WITH STROKE]
+"\u0268" => "i"
+
+# \u1d09 [LATIN SMALL LETTER TURNED I]
+"\u1D09" => "i"
+
+# \u1d62 [LATIN SUBSCRIPT SMALL LETTER I]
+"\u1D62" => "i"
+
+# \u1d7c [LATIN SMALL LETTER IOTA WITH STROKE]
+"\u1D7C" => "i"
+
+# \u1d96 [LATIN SMALL LETTER I WITH RETROFLEX HOOK]
+"\u1D96" => "i"
+
+# \u1e2d [LATIN SMALL LETTER I WITH TILDE BELOW]
+"\u1E2D" => "i"
+
+# \u1e2f [LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE]
+"\u1E2F" => "i"
+
+# \u1ec9 [LATIN SMALL LETTER I WITH HOOK ABOVE]
+"\u1EC9" => "i"
+
+# \u1ecb [LATIN SMALL LETTER I WITH DOT BELOW]
+"\u1ECB" => "i"
+
+# \u2071 [SUPERSCRIPT LATIN SMALL LETTER I]
+"\u2071" => "i"
+
+# \u24d8 [CIRCLED LATIN SMALL LETTER I]
+"\u24D8" => "i"
+
+# \uff49 [FULLWIDTH LATIN SMALL LETTER I]
+"\uFF49" => "i"
+
+# \u0132 [LATIN CAPITAL LIGATURE IJ]
+"\u0132" => "IJ"
+
+# \u24a4 [PARENTHESIZED LATIN SMALL LETTER I]
+"\u24A4" => "(i)"
+
+# \u0133 [LATIN SMALL LIGATURE IJ]
+"\u0133" => "ij"
+
+# \u0134 [LATIN CAPITAL LETTER J WITH CIRCUMFLEX]
+"\u0134" => "J"
+
+# \u0248 [LATIN CAPITAL LETTER J WITH STROKE]
+"\u0248" => "J"
+
+# \u1d0a [LATIN LETTER SMALL CAPITAL J]
+"\u1D0A" => "J"
+
+# \u24bf [CIRCLED LATIN CAPITAL LETTER J]
+"\u24BF" => "J"
+
+# \uff2a [FULLWIDTH LATIN CAPITAL LETTER J]
+"\uFF2A" => "J"
+
+# \u0135 [LATIN SMALL LETTER J WITH CIRCUMFLEX]
+"\u0135" => "j"
+
+# \u01f0 [LATIN SMALL LETTER J WITH CARON]
+"\u01F0" => "j"
+
+# \u0237 [LATIN SMALL LETTER DOTLESS J]
+"\u0237" => "j"
+
+# \u0249 [LATIN SMALL LETTER J WITH STROKE]
+"\u0249" => "j"
+
+# \u025f [LATIN SMALL LETTER DOTLESS J WITH STROKE]
+"\u025F" => "j"
+
+# \u0284 [LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK]
+"\u0284" => "j"
+
+# \u029d [LATIN SMALL LETTER J WITH CROSSED-TAIL]
+"\u029D" => "j"
+
+# \u24d9 [CIRCLED LATIN SMALL LETTER J]
+"\u24D9" => "j"
+
+# \u2c7c [LATIN SUBSCRIPT SMALL LETTER J]
+"\u2C7C" => "j"
+
+# \uff4a [FULLWIDTH LATIN SMALL LETTER J]
+"\uFF4A" => "j"
+
+# \u24a5 [PARENTHESIZED LATIN SMALL LETTER J]
+"\u24A5" => "(j)"
+
+# \u0136 [LATIN CAPITAL LETTER K WITH CEDILLA]
+"\u0136" => "K"
+
+# \u0198 [LATIN CAPITAL LETTER K WITH HOOK]
+"\u0198" => "K"
+
+# \u01e8 [LATIN CAPITAL LETTER K WITH CARON]
+"\u01E8" => "K"
+
+# \u1d0b [LATIN LETTER SMALL CAPITAL K]
+"\u1D0B" => "K"
+
+# \u1e30 [LATIN CAPITAL LETTER K WITH ACUTE]
+"\u1E30" => "K"
+
+# \u1e32 [LATIN CAPITAL LETTER K WITH DOT BELOW]
+"\u1E32" => "K"
+
+# \u1e34 [LATIN CAPITAL LETTER K WITH LINE BELOW]
+"\u1E34" => "K"
+
+# \u24c0 [CIRCLED LATIN CAPITAL LETTER K]
+"\u24C0" => "K"
+
+# \u2c69 [LATIN CAPITAL LETTER K WITH DESCENDER]
+"\u2C69" => "K"
+
+# \ua740 [LATIN CAPITAL LETTER K WITH STROKE]
+"\uA740" => "K"
+
+# \ua742 [LATIN CAPITAL LETTER K WITH DIAGONAL STROKE]
+"\uA742" => "K"
+
+# \ua744 [LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE]
+"\uA744" => "K"
+
+# \uff2b [FULLWIDTH LATIN CAPITAL LETTER K]
+"\uFF2B" => "K"
+
+# \u0137 [LATIN SMALL LETTER K WITH CEDILLA]
+"\u0137" => "k"
+
+# \u0199 [LATIN SMALL LETTER K WITH HOOK]
+"\u0199" => "k"
+
+# \u01e9 [LATIN SMALL LETTER K WITH CARON]
+"\u01E9" => "k"
+
+# \u029e [LATIN SMALL LETTER TURNED K]
+"\u029E" => "k"
+
+# \u1d84 [LATIN SMALL LETTER K WITH PALATAL HOOK]
+"\u1D84" => "k"
+
+# \u1e31 [LATIN SMALL LETTER K WITH ACUTE]
+"\u1E31" => "k"
+
+# \u1e33 [LATIN SMALL LETTER K WITH DOT BELOW]
+"\u1E33" => "k"
+
+# \u1e35 [LATIN SMALL LETTER K WITH LINE BELOW]
+"\u1E35" => "k"
+
+# \u24da [CIRCLED LATIN SMALL LETTER K]
+"\u24DA" => "k"
+
+# \u2c6a [LATIN SMALL LETTER K WITH DESCENDER]
+"\u2C6A" => "k"
+
+# \ua741 [LATIN SMALL LETTER K WITH STROKE]
+"\uA741" => "k"
+
+# \ua743 [LATIN SMALL LETTER K WITH DIAGONAL STROKE]
+"\uA743" => "k"
+
+# \ua745 [LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE]
+"\uA745" => "k"
+
+# \uff4b [FULLWIDTH LATIN SMALL LETTER K]
+"\uFF4B" => "k"
+
+# \u24a6 [PARENTHESIZED LATIN SMALL LETTER K]
+"\u24A6" => "(k)"
+
+# \u0139 [LATIN CAPITAL LETTER L WITH ACUTE]
+"\u0139" => "L"
+
+# \u013b [LATIN CAPITAL LETTER L WITH CEDILLA]
+"\u013B" => "L"
+
+# \u013d [LATIN CAPITAL LETTER L WITH CARON]
+"\u013D" => "L"
+
+# \u013f [LATIN CAPITAL LETTER L WITH MIDDLE DOT]
+"\u013F" => "L"
+
+# \u0141 [LATIN CAPITAL LETTER L WITH STROKE]
+"\u0141" => "L"
+
+# \u023d [LATIN CAPITAL LETTER L WITH BAR]
+"\u023D" => "L"
+
+# \u029f [LATIN LETTER SMALL CAPITAL L]
+"\u029F" => "L"
+
+# \u1d0c [LATIN LETTER SMALL CAPITAL L WITH STROKE]
+"\u1D0C" => "L"
+
+# \u1e36 [LATIN CAPITAL LETTER L WITH DOT BELOW]
+"\u1E36" => "L"
+
+# \u1e38 [LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON]
+"\u1E38" => "L"
+
+# \u1e3a [LATIN CAPITAL LETTER L WITH LINE BELOW]
+"\u1E3A" => "L"
+
+# \u1e3c [LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW]
+"\u1E3C" => "L"
+
+# \u24c1 [CIRCLED LATIN CAPITAL LETTER L]
+"\u24C1" => "L"
+
+# \u2c60 [LATIN CAPITAL LETTER L WITH DOUBLE BAR]
+"\u2C60" => "L"
+
+# \u2c62 [LATIN CAPITAL LETTER L WITH MIDDLE TILDE]
+"\u2C62" => "L"
+
+# \ua746 [LATIN CAPITAL LETTER BROKEN L]
+"\uA746" => "L"
+
+# \ua748 [LATIN CAPITAL LETTER L WITH HIGH STROKE]
+"\uA748" => "L"
+
+# \ua780 [LATIN CAPITAL LETTER TURNED L]
+"\uA780" => "L"
+
+# \uff2c [FULLWIDTH LATIN CAPITAL LETTER L]
+"\uFF2C" => "L"
+
+# \u013a [LATIN SMALL LETTER L WITH ACUTE]
+"\u013A" => "l"
+
+# \u013c [LATIN SMALL LETTER L WITH CEDILLA]
+"\u013C" => "l"
+
+# \u013e [LATIN SMALL LETTER L WITH CARON]
+"\u013E" => "l"
+
+# \u0140 [LATIN SMALL LETTER L WITH MIDDLE DOT]
+"\u0140" => "l"
+
+# \u0142 [LATIN SMALL LETTER L WITH STROKE]
+"\u0142" => "l"
+
+# \u019a [LATIN SMALL LETTER L WITH BAR]
+"\u019A" => "l"
+
+# \u0234 [LATIN SMALL LETTER L WITH CURL]
+"\u0234" => "l"
+
+# \u026b [LATIN SMALL LETTER L WITH MIDDLE TILDE]
+"\u026B" => "l"
+
+# \u026c [LATIN SMALL LETTER L WITH BELT]
+"\u026C" => "l"
+
+# \u026d [LATIN SMALL LETTER L WITH RETROFLEX HOOK]
+"\u026D" => "l"
+
+# \u1d85 [LATIN SMALL LETTER L WITH PALATAL HOOK]
+"\u1D85" => "l"
+
+# \u1e37 [LATIN SMALL LETTER L WITH DOT BELOW]
+"\u1E37" => "l"
+
+# \u1e39 [LATIN SMALL LETTER L WITH DOT BELOW AND MACRON]
+"\u1E39" => "l"
+
+# \u1e3b [LATIN SMALL LETTER L WITH LINE BELOW]
+"\u1E3B" => "l"
+
+# \u1e3d [LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW]
+"\u1E3D" => "l"
+
+# \u24db [CIRCLED LATIN SMALL LETTER L]
+"\u24DB" => "l"
+
+# \u2c61 [LATIN SMALL LETTER L WITH DOUBLE BAR]
+"\u2C61" => "l"
+
+# \ua747 [LATIN SMALL LETTER BROKEN L]
+"\uA747" => "l"
+
+# \ua749 [LATIN SMALL LETTER L WITH HIGH STROKE]
+"\uA749" => "l"
+
+# \ua781 [LATIN SMALL LETTER TURNED L]
+"\uA781" => "l"
+
+# \uff4c [FULLWIDTH LATIN SMALL LETTER L]
+"\uFF4C" => "l"
+
+# \u01c7 [LATIN CAPITAL LETTER LJ]
+"\u01C7" => "LJ"
+
+# \u1efa [LATIN CAPITAL LETTER MIDDLE-WELSH LL]
+"\u1EFA" => "LL"
+
+# \u01c8 [LATIN CAPITAL LETTER L WITH SMALL LETTER J]
+"\u01C8" => "Lj"
+
+# \u24a7 [PARENTHESIZED LATIN SMALL LETTER L]
+"\u24A7" => "(l)"
+
+# \u01c9 [LATIN SMALL LETTER LJ]
+"\u01C9" => "lj"
+
+# \u1efb [LATIN SMALL LETTER MIDDLE-WELSH LL]
+"\u1EFB" => "ll"
+
+# \u02aa [LATIN SMALL LETTER LS DIGRAPH]
+"\u02AA" => "ls"
+
+# \u02ab [LATIN SMALL LETTER LZ DIGRAPH]
+"\u02AB" => "lz"
+
+# \u019c [LATIN CAPITAL LETTER TURNED M]
+"\u019C" => "M"
+
+# \u1d0d [LATIN LETTER SMALL CAPITAL M]
+"\u1D0D" => "M"
+
+# \u1e3e [LATIN CAPITAL LETTER M WITH ACUTE]
+"\u1E3E" => "M"
+
+# \u1e40 [LATIN CAPITAL LETTER M WITH DOT ABOVE]
+"\u1E40" => "M"
+
+# \u1e42 [LATIN CAPITAL LETTER M WITH DOT BELOW]
+"\u1E42" => "M"
+
+# \u24c2 [CIRCLED LATIN CAPITAL LETTER M]
+"\u24C2" => "M"
+
+# \u2c6e [LATIN CAPITAL LETTER M WITH HOOK]
+"\u2C6E" => "M"
+
+# \ua7fd [LATIN EPIGRAPHIC LETTER INVERTED M]
+"\uA7FD" => "M"
+
+# \ua7ff [LATIN EPIGRAPHIC LETTER ARCHAIC M]
+"\uA7FF" => "M"
+
+# \uff2d [FULLWIDTH LATIN CAPITAL LETTER M]
+"\uFF2D" => "M"
+
+# \u026f [LATIN SMALL LETTER TURNED M]
+"\u026F" => "m"
+
+# \u0270 [LATIN SMALL LETTER TURNED M WITH LONG LEG]
+"\u0270" => "m"
+
+# \u0271 [LATIN SMALL LETTER M WITH HOOK]
+"\u0271" => "m"
+
+# \u1d6f [LATIN SMALL LETTER M WITH MIDDLE TILDE]
+"\u1D6F" => "m"
+
+# \u1d86 [LATIN SMALL LETTER M WITH PALATAL HOOK]
+"\u1D86" => "m"
+
+# \u1e3f [LATIN SMALL LETTER M WITH ACUTE]
+"\u1E3F" => "m"
+
+# \u1e41 [LATIN SMALL LETTER M WITH DOT ABOVE]
+"\u1E41" => "m"
+
+# \u1e43 [LATIN SMALL LETTER M WITH DOT BELOW]
+"\u1E43" => "m"
+
+# \u24dc [CIRCLED LATIN SMALL LETTER M]
+"\u24DC" => "m"
+
+# \uff4d [FULLWIDTH LATIN SMALL LETTER M]
+"\uFF4D" => "m"
+
+# \u24a8 [PARENTHESIZED LATIN SMALL LETTER M]
+"\u24A8" => "(m)"
+
+# � [LATIN CAPITAL LETTER N WITH TILDE]
+"\u00D1" => "N"
+
+# \u0143 [LATIN CAPITAL LETTER N WITH ACUTE]
+"\u0143" => "N"
+
+# \u0145 [LATIN CAPITAL LETTER N WITH CEDILLA]
+"\u0145" => "N"
+
+# \u0147 [LATIN CAPITAL LETTER N WITH CARON]
+"\u0147" => "N"
+
+# \u014a http://en.wikipedia.org/wiki/Eng_(letter) [LATIN CAPITAL LETTER ENG]
+"\u014A" => "N"
+
+# \u019d [LATIN CAPITAL LETTER N WITH LEFT HOOK]
+"\u019D" => "N"
+
+# \u01f8 [LATIN CAPITAL LETTER N WITH GRAVE]
+"\u01F8" => "N"
+
+# \u0220 [LATIN CAPITAL LETTER N WITH LONG RIGHT LEG]
+"\u0220" => "N"
+
+# \u0274 [LATIN LETTER SMALL CAPITAL N]
+"\u0274" => "N"
+
+# \u1d0e [LATIN LETTER SMALL CAPITAL REVERSED N]
+"\u1D0E" => "N"
+
+# \u1e44 [LATIN CAPITAL LETTER N WITH DOT ABOVE]
+"\u1E44" => "N"
+
+# \u1e46 [LATIN CAPITAL LETTER N WITH DOT BELOW]
+"\u1E46" => "N"
+
+# \u1e48 [LATIN CAPITAL LETTER N WITH LINE BELOW]
+"\u1E48" => "N"
+
+# \u1e4a [LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW]
+"\u1E4A" => "N"
+
+# \u24c3 [CIRCLED LATIN CAPITAL LETTER N]
+"\u24C3" => "N"
+
+# \uff2e [FULLWIDTH LATIN CAPITAL LETTER N]
+"\uFF2E" => "N"
+
+# � [LATIN SMALL LETTER N WITH TILDE]
+"\u00F1" => "n"
+
+# \u0144 [LATIN SMALL LETTER N WITH ACUTE]
+"\u0144" => "n"
+
+# \u0146 [LATIN SMALL LETTER N WITH CEDILLA]
+"\u0146" => "n"
+
+# \u0148 [LATIN SMALL LETTER N WITH CARON]
+"\u0148" => "n"
+
+# \u0149 [LATIN SMALL LETTER N PRECEDED BY APOSTROPHE]
+"\u0149" => "n"
+
+# \u014b http://en.wikipedia.org/wiki/Eng_(letter) [LATIN SMALL LETTER ENG]
+"\u014B" => "n"
+
+# \u019e [LATIN SMALL LETTER N WITH LONG RIGHT LEG]
+"\u019E" => "n"
+
+# \u01f9 [LATIN SMALL LETTER N WITH GRAVE]
+"\u01F9" => "n"
+
+# \u0235 [LATIN SMALL LETTER N WITH CURL]
+"\u0235" => "n"
+
+# \u0272 [LATIN SMALL LETTER N WITH LEFT HOOK]
+"\u0272" => "n"
+
+# \u0273 [LATIN SMALL LETTER N WITH RETROFLEX HOOK]
+"\u0273" => "n"
+
+# \u1d70 [LATIN SMALL LETTER N WITH MIDDLE TILDE]
+"\u1D70" => "n"
+
+# \u1d87 [LATIN SMALL LETTER N WITH PALATAL HOOK]
+"\u1D87" => "n"
+
+# \u1e45 [LATIN SMALL LETTER N WITH DOT ABOVE]
+"\u1E45" => "n"
+
+# \u1e47 [LATIN SMALL LETTER N WITH DOT BELOW]
+"\u1E47" => "n"
+
+# \u1e49 [LATIN SMALL LETTER N WITH LINE BELOW]
+"\u1E49" => "n"
+
+# \u1e4b [LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW]
+"\u1E4B" => "n"
+
+# \u207f [SUPERSCRIPT LATIN SMALL LETTER N]
+"\u207F" => "n"
+
+# \u24dd [CIRCLED LATIN SMALL LETTER N]
+"\u24DD" => "n"
+
+# \uff4e [FULLWIDTH LATIN SMALL LETTER N]
+"\uFF4E" => "n"
+
+# \u01ca [LATIN CAPITAL LETTER NJ]
+"\u01CA" => "NJ"
+
+# \u01cb [LATIN CAPITAL LETTER N WITH SMALL LETTER J]
+"\u01CB" => "Nj"
+
+# \u24a9 [PARENTHESIZED LATIN SMALL LETTER N]
+"\u24A9" => "(n)"
+
+# \u01cc [LATIN SMALL LETTER NJ]
+"\u01CC" => "nj"
+
+# � [LATIN CAPITAL LETTER O WITH GRAVE]
+"\u00D2" => "O"
+
+# � [LATIN CAPITAL LETTER O WITH ACUTE]
+"\u00D3" => "O"
+
+# � [LATIN CAPITAL LETTER O WITH CIRCUMFLEX]
+"\u00D4" => "O"
+
+# � [LATIN CAPITAL LETTER O WITH TILDE]
+"\u00D5" => "O"
+
+# � [LATIN CAPITAL LETTER O WITH DIAERESIS]
+"\u00D6" => "O"
+
+# � [LATIN CAPITAL LETTER O WITH STROKE]
+"\u00D8" => "O"
+
+# \u014c [LATIN CAPITAL LETTER O WITH MACRON]
+"\u014C" => "O"
+
+# \u014e [LATIN CAPITAL LETTER O WITH BREVE]
+"\u014E" => "O"
+
+# \u0150 [LATIN CAPITAL LETTER O WITH DOUBLE ACUTE]
+"\u0150" => "O"
+
+# \u0186 [LATIN CAPITAL LETTER OPEN O]
+"\u0186" => "O"
+
+# \u019f [LATIN CAPITAL LETTER O WITH MIDDLE TILDE]
+"\u019F" => "O"
+
+# \u01a0 [LATIN CAPITAL LETTER O WITH HORN]
+"\u01A0" => "O"
+
+# \u01d1 [LATIN CAPITAL LETTER O WITH CARON]
+"\u01D1" => "O"
+
+# \u01ea [LATIN CAPITAL LETTER O WITH OGONEK]
+"\u01EA" => "O"
+
+# \u01ec [LATIN CAPITAL LETTER O WITH OGONEK AND MACRON]
+"\u01EC" => "O"
+
+# \u01fe [LATIN CAPITAL LETTER O WITH STROKE AND ACUTE]
+"\u01FE" => "O"
+
+# \u020c [LATIN CAPITAL LETTER O WITH DOUBLE GRAVE]
+"\u020C" => "O"
+
+# \u020e [LATIN CAPITAL LETTER O WITH INVERTED BREVE]
+"\u020E" => "O"
+
+# \u022a [LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON]
+"\u022A" => "O"
+
+# \u022c [LATIN CAPITAL LETTER O WITH TILDE AND MACRON]
+"\u022C" => "O"
+
+# \u022e [LATIN CAPITAL LETTER O WITH DOT ABOVE]
+"\u022E" => "O"
+
+# \u0230 [LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON]
+"\u0230" => "O"
+
+# \u1d0f [LATIN LETTER SMALL CAPITAL O]
+"\u1D0F" => "O"
+
+# \u1d10 [LATIN LETTER SMALL CAPITAL OPEN O]
+"\u1D10" => "O"
+
+# \u1e4c [LATIN CAPITAL LETTER O WITH TILDE AND ACUTE]
+"\u1E4C" => "O"
+
+# \u1e4e [LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS]
+"\u1E4E" => "O"
+
+# \u1e50 [LATIN CAPITAL LETTER O WITH MACRON AND GRAVE]
+"\u1E50" => "O"
+
+# \u1e52 [LATIN CAPITAL LETTER O WITH MACRON AND ACUTE]
+"\u1E52" => "O"
+
+# \u1ecc [LATIN CAPITAL LETTER O WITH DOT BELOW]
+"\u1ECC" => "O"
+
+# \u1ece [LATIN CAPITAL LETTER O WITH HOOK ABOVE]
+"\u1ECE" => "O"
+
+# \u1ed0 [LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE]
+"\u1ED0" => "O"
+
+# \u1ed2 [LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE]
+"\u1ED2" => "O"
+
+# \u1ed4 [LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE]
+"\u1ED4" => "O"
+
+# \u1ed6 [LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE]
+"\u1ED6" => "O"
+
+# \u1ed8 [LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW]
+"\u1ED8" => "O"
+
+# \u1eda [LATIN CAPITAL LETTER O WITH HORN AND ACUTE]
+"\u1EDA" => "O"
+
+# \u1edc [LATIN CAPITAL LETTER O WITH HORN AND GRAVE]
+"\u1EDC" => "O"
+
+# \u1ede [LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE]
+"\u1EDE" => "O"
+
+# \u1ee0 [LATIN CAPITAL LETTER O WITH HORN AND TILDE]
+"\u1EE0" => "O"
+
+# \u1ee2 [LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW]
+"\u1EE2" => "O"
+
+# \u24c4 [CIRCLED LATIN CAPITAL LETTER O]
+"\u24C4" => "O"
+
+# \ua74a [LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY]
+"\uA74A" => "O"
+
+# \ua74c [LATIN CAPITAL LETTER O WITH LOOP]
+"\uA74C" => "O"
+
+# \uff2f [FULLWIDTH LATIN CAPITAL LETTER O]
+"\uFF2F" => "O"
+
+# � [LATIN SMALL LETTER O WITH GRAVE]
+"\u00F2" => "o"
+
+# � [LATIN SMALL LETTER O WITH ACUTE]
+"\u00F3" => "o"
+
+# � [LATIN SMALL LETTER O WITH CIRCUMFLEX]
+"\u00F4" => "o"
+
+# � [LATIN SMALL LETTER O WITH TILDE]
+"\u00F5" => "o"
+
+# � [LATIN SMALL LETTER O WITH DIAERESIS]
+"\u00F6" => "o"
+
+# � [LATIN SMALL LETTER O WITH STROKE]
+"\u00F8" => "o"
+
+# \u014d [LATIN SMALL LETTER O WITH MACRON]
+"\u014D" => "o"
+
+# \u014f [LATIN SMALL LETTER O WITH BREVE]
+"\u014F" => "o"
+
+# \u0151 [LATIN SMALL LETTER O WITH DOUBLE ACUTE]
+"\u0151" => "o"
+
+# \u01a1 [LATIN SMALL LETTER O WITH HORN]
+"\u01A1" => "o"
+
+# \u01d2 [LATIN SMALL LETTER O WITH CARON]
+"\u01D2" => "o"
+
+# \u01eb [LATIN SMALL LETTER O WITH OGONEK]
+"\u01EB" => "o"
+
+# \u01ed [LATIN SMALL LETTER O WITH OGONEK AND MACRON]
+"\u01ED" => "o"
+
+# \u01ff [LATIN SMALL LETTER O WITH STROKE AND ACUTE]
+"\u01FF" => "o"
+
+# \u020d [LATIN SMALL LETTER O WITH DOUBLE GRAVE]
+"\u020D" => "o"
+
+# \u020f [LATIN SMALL LETTER O WITH INVERTED BREVE]
+"\u020F" => "o"
+
+# \u022b [LATIN SMALL LETTER O WITH DIAERESIS AND MACRON]
+"\u022B" => "o"
+
+# \u022d [LATIN SMALL LETTER O WITH TILDE AND MACRON]
+"\u022D" => "o"
+
+# \u022f [LATIN SMALL LETTER O WITH DOT ABOVE]
+"\u022F" => "o"
+
+# \u0231 [LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON]
+"\u0231" => "o"
+
+# \u0254 [LATIN SMALL LETTER OPEN O]
+"\u0254" => "o"
+
+# \u0275 [LATIN SMALL LETTER BARRED O]
+"\u0275" => "o"
+
+# \u1d16 [LATIN SMALL LETTER TOP HALF O]
+"\u1D16" => "o"
+
+# \u1d17 [LATIN SMALL LETTER BOTTOM HALF O]
+"\u1D17" => "o"
+
+# \u1d97 [LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK]
+"\u1D97" => "o"
+
+# \u1e4d [LATIN SMALL LETTER O WITH TILDE AND ACUTE]
+"\u1E4D" => "o"
+
+# \u1e4f [LATIN SMALL LETTER O WITH TILDE AND DIAERESIS]
+"\u1E4F" => "o"
+
+# \u1e51 [LATIN SMALL LETTER O WITH MACRON AND GRAVE]
+"\u1E51" => "o"
+
+# \u1e53 [LATIN SMALL LETTER O WITH MACRON AND ACUTE]
+"\u1E53" => "o"
+
+# \u1ecd [LATIN SMALL LETTER O WITH DOT BELOW]
+"\u1ECD" => "o"
+
+# \u1ecf [LATIN SMALL LETTER O WITH HOOK ABOVE]
+"\u1ECF" => "o"
+
+# \u1ed1 [LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE]
+"\u1ED1" => "o"
+
+# \u1ed3 [LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE]
+"\u1ED3" => "o"
+
+# \u1ed5 [LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE]
+"\u1ED5" => "o"
+
+# \u1ed7 [LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE]
+"\u1ED7" => "o"
+
+# \u1ed9 [LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW]
+"\u1ED9" => "o"
+
+# \u1edb [LATIN SMALL LETTER O WITH HORN AND ACUTE]
+"\u1EDB" => "o"
+
+# \u1edd [LATIN SMALL LETTER O WITH HORN AND GRAVE]
+"\u1EDD" => "o"
+
+# \u1edf [LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE]
+"\u1EDF" => "o"
+
+# \u1ee1 [LATIN SMALL LETTER O WITH HORN AND TILDE]
+"\u1EE1" => "o"
+
+# \u1ee3 [LATIN SMALL LETTER O WITH HORN AND DOT BELOW]
+"\u1EE3" => "o"
+
+# \u2092 [LATIN SUBSCRIPT SMALL LETTER O]
+"\u2092" => "o"
+
+# \u24de [CIRCLED LATIN SMALL LETTER O]
+"\u24DE" => "o"
+
+# \u2c7a [LATIN SMALL LETTER O WITH LOW RING INSIDE]
+"\u2C7A" => "o"
+
+# \ua74b [LATIN SMALL LETTER O WITH LONG STROKE OVERLAY]
+"\uA74B" => "o"
+
+# \ua74d [LATIN SMALL LETTER O WITH LOOP]
+"\uA74D" => "o"
+
+# \uff4f [FULLWIDTH LATIN SMALL LETTER O]
+"\uFF4F" => "o"
+
+# \u0152 [LATIN CAPITAL LIGATURE OE]
+"\u0152" => "OE"
+
+# \u0276 [LATIN LETTER SMALL CAPITAL OE]
+"\u0276" => "OE"
+
+# \ua74e [LATIN CAPITAL LETTER OO]
+"\uA74E" => "OO"
+
+# \u0222 http://en.wikipedia.org/wiki/OU [LATIN CAPITAL LETTER OU]
+"\u0222" => "OU"
+
+# \u1d15 [LATIN LETTER SMALL CAPITAL OU]
+"\u1D15" => "OU"
+
+# \u24aa [PARENTHESIZED LATIN SMALL LETTER O]
+"\u24AA" => "(o)"
+
+# \u0153 [LATIN SMALL LIGATURE OE]
+"\u0153" => "oe"
+
+# \u1d14 [LATIN SMALL LETTER TURNED OE]
+"\u1D14" => "oe"
+
+# \ua74f [LATIN SMALL LETTER OO]
+"\uA74F" => "oo"
+
+# \u0223 http://en.wikipedia.org/wiki/OU [LATIN SMALL LETTER OU]
+"\u0223" => "ou"
+
+# \u01a4 [LATIN CAPITAL LETTER P WITH HOOK]
+"\u01A4" => "P"
+
+# \u1d18 [LATIN LETTER SMALL CAPITAL P]
+"\u1D18" => "P"
+
+# \u1e54 [LATIN CAPITAL LETTER P WITH ACUTE]
+"\u1E54" => "P"
+
+# \u1e56 [LATIN CAPITAL LETTER P WITH DOT ABOVE]
+"\u1E56" => "P"
+
+# \u24c5 [CIRCLED LATIN CAPITAL LETTER P]
+"\u24C5" => "P"
+
+# \u2c63 [LATIN CAPITAL LETTER P WITH STROKE]
+"\u2C63" => "P"
+
+# \ua750 [LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER]
+"\uA750" => "P"
+
+# \ua752 [LATIN CAPITAL LETTER P WITH FLOURISH]
+"\uA752" => "P"
+
+# \ua754 [LATIN CAPITAL LETTER P WITH SQUIRREL TAIL]
+"\uA754" => "P"
+
+# \uff30 [FULLWIDTH LATIN CAPITAL LETTER P]
+"\uFF30" => "P"
+
+# \u01a5 [LATIN SMALL LETTER P WITH HOOK]
+"\u01A5" => "p"
+
+# \u1d71 [LATIN SMALL LETTER P WITH MIDDLE TILDE]
+"\u1D71" => "p"
+
+# \u1d7d [LATIN SMALL LETTER P WITH STROKE]
+"\u1D7D" => "p"
+
+# \u1d88 [LATIN SMALL LETTER P WITH PALATAL HOOK]
+"\u1D88" => "p"
+
+# \u1e55 [LATIN SMALL LETTER P WITH ACUTE]
+"\u1E55" => "p"
+
+# \u1e57 [LATIN SMALL LETTER P WITH DOT ABOVE]
+"\u1E57" => "p"
+
+# \u24df [CIRCLED LATIN SMALL LETTER P]
+"\u24DF" => "p"
+
+# \ua751 [LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER]
+"\uA751" => "p"
+
+# \ua753 [LATIN SMALL LETTER P WITH FLOURISH]
+"\uA753" => "p"
+
+# \ua755 [LATIN SMALL LETTER P WITH SQUIRREL TAIL]
+"\uA755" => "p"
+
+# \ua7fc [LATIN EPIGRAPHIC LETTER REVERSED P]
+"\uA7FC" => "p"
+
+# \uff50 [FULLWIDTH LATIN SMALL LETTER P]
+"\uFF50" => "p"
+
+# \u24ab [PARENTHESIZED LATIN SMALL LETTER P]
+"\u24AB" => "(p)"
+
+# \u024a [LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL]
+"\u024A" => "Q"
+
+# \u24c6 [CIRCLED LATIN CAPITAL LETTER Q]
+"\u24C6" => "Q"
+
+# \ua756 [LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER]
+"\uA756" => "Q"
+
+# \ua758 [LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE]
+"\uA758" => "Q"
+
+# \uff31 [FULLWIDTH LATIN CAPITAL LETTER Q]
+"\uFF31" => "Q"
+
+# \u0138 http://en.wikipedia.org/wiki/Kra_(letter) [LATIN SMALL LETTER KRA]
+"\u0138" => "q"
+
+# \u024b [LATIN SMALL LETTER Q WITH HOOK TAIL]
+"\u024B" => "q"
+
+# \u02a0 [LATIN SMALL LETTER Q WITH HOOK]
+"\u02A0" => "q"
+
+# \u24e0 [CIRCLED LATIN SMALL LETTER Q]
+"\u24E0" => "q"
+
+# \ua757 [LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER]
+"\uA757" => "q"
+
+# \ua759 [LATIN SMALL LETTER Q WITH DIAGONAL STROKE]
+"\uA759" => "q"
+
+# \uff51 [FULLWIDTH LATIN SMALL LETTER Q]
+"\uFF51" => "q"
+
+# \u24ac [PARENTHESIZED LATIN SMALL LETTER Q]
+"\u24AC" => "(q)"
+
+# \u0239 [LATIN SMALL LETTER QP DIGRAPH]
+"\u0239" => "qp"
+
+# \u0154 [LATIN CAPITAL LETTER R WITH ACUTE]
+"\u0154" => "R"
+
+# \u0156 [LATIN CAPITAL LETTER R WITH CEDILLA]
+"\u0156" => "R"
+
+# \u0158 [LATIN CAPITAL LETTER R WITH CARON]
+"\u0158" => "R"
+
+# \u0212 [LATIN CAPITAL LETTER R WITH DOUBLE GRAVE]
+"\u0210" => "R"
+
+# \u0212 [LATIN CAPITAL LETTER R WITH INVERTED BREVE]
+"\u0212" => "R"
+
+# \u024c [LATIN CAPITAL LETTER R WITH STROKE]
+"\u024C" => "R"
+
+# \u0280 [LATIN LETTER SMALL CAPITAL R]
+"\u0280" => "R"
+
+# \u0281 [LATIN LETTER SMALL CAPITAL INVERTED R]
+"\u0281" => "R"
+
+# \u1d19 [LATIN LETTER SMALL CAPITAL REVERSED R]
+"\u1D19" => "R"
+
+# \u1d1a [LATIN LETTER SMALL CAPITAL TURNED R]
+"\u1D1A" => "R"
+
+# \u1e58 [LATIN CAPITAL LETTER R WITH DOT ABOVE]
+"\u1E58" => "R"
+
+# \u1e5a [LATIN CAPITAL LETTER R WITH DOT BELOW]
+"\u1E5A" => "R"
+
+# \u1e5c [LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON]
+"\u1E5C" => "R"
+
+# \u1e5e [LATIN CAPITAL LETTER R WITH LINE BELOW]
+"\u1E5E" => "R"
+
+# \u24c7 [CIRCLED LATIN CAPITAL LETTER R]
+"\u24C7" => "R"
+
+# \u2c64 [LATIN CAPITAL LETTER R WITH TAIL]
+"\u2C64" => "R"
+
+# \ua75a [LATIN CAPITAL LETTER R ROTUNDA]
+"\uA75A" => "R"
+
+# \ua782 [LATIN CAPITAL LETTER INSULAR R]
+"\uA782" => "R"
+
+# \uff32 [FULLWIDTH LATIN CAPITAL LETTER R]
+"\uFF32" => "R"
+
+# \u0155 [LATIN SMALL LETTER R WITH ACUTE]
+"\u0155" => "r"
+
+# \u0157 [LATIN SMALL LETTER R WITH CEDILLA]
+"\u0157" => "r"
+
+# \u0159 [LATIN SMALL LETTER R WITH CARON]
+"\u0159" => "r"
+
+# \u0211 [LATIN SMALL LETTER R WITH DOUBLE GRAVE]
+"\u0211" => "r"
+
+# \u0213 [LATIN SMALL LETTER R WITH INVERTED BREVE]
+"\u0213" => "r"
+
+# \u024d [LATIN SMALL LETTER R WITH STROKE]
+"\u024D" => "r"
+
+# \u027c [LATIN SMALL LETTER R WITH LONG LEG]
+"\u027C" => "r"
+
+# \u027d [LATIN SMALL LETTER R WITH TAIL]
+"\u027D" => "r"
+
+# \u027e [LATIN SMALL LETTER R WITH FISHHOOK]
+"\u027E" => "r"
+
+# \u027f [LATIN SMALL LETTER REVERSED R WITH FISHHOOK]
+"\u027F" => "r"
+
+# \u1d63 [LATIN SUBSCRIPT SMALL LETTER R]
+"\u1D63" => "r"
+
+# \u1d72 [LATIN SMALL LETTER R WITH MIDDLE TILDE]
+"\u1D72" => "r"
+
+# \u1d73 [LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE]
+"\u1D73" => "r"
+
+# \u1d89 [LATIN SMALL LETTER R WITH PALATAL HOOK]
+"\u1D89" => "r"
+
+# \u1e59 [LATIN SMALL LETTER R WITH DOT ABOVE]
+"\u1E59" => "r"
+
+# \u1e5b [LATIN SMALL LETTER R WITH DOT BELOW]
+"\u1E5B" => "r"
+
+# \u1e5d [LATIN SMALL LETTER R WITH DOT BELOW AND MACRON]
+"\u1E5D" => "r"
+
+# \u1e5f [LATIN SMALL LETTER R WITH LINE BELOW]
+"\u1E5F" => "r"
+
+# \u24e1 [CIRCLED LATIN SMALL LETTER R]
+"\u24E1" => "r"
+
+# \ua75b [LATIN SMALL LETTER R ROTUNDA]
+"\uA75B" => "r"
+
+# \ua783 [LATIN SMALL LETTER INSULAR R]
+"\uA783" => "r"
+
+# \uff52 [FULLWIDTH LATIN SMALL LETTER R]
+"\uFF52" => "r"
+
+# \u24ad [PARENTHESIZED LATIN SMALL LETTER R]
+"\u24AD" => "(r)"
+
+# \u015a [LATIN CAPITAL LETTER S WITH ACUTE]
+"\u015A" => "S"
+
+# \u015c [LATIN CAPITAL LETTER S WITH CIRCUMFLEX]
+"\u015C" => "S"
+
+# \u015e [LATIN CAPITAL LETTER S WITH CEDILLA]
+"\u015E" => "S"
+
+# \u0160 [LATIN CAPITAL LETTER S WITH CARON]
+"\u0160" => "S"
+
+# \u0218 [LATIN CAPITAL LETTER S WITH COMMA BELOW]
+"\u0218" => "S"
+
+# \u1e60 [LATIN CAPITAL LETTER S WITH DOT ABOVE]
+"\u1E60" => "S"
+
+# \u1e62 [LATIN CAPITAL LETTER S WITH DOT BELOW]
+"\u1E62" => "S"
+
+# \u1e64 [LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE]
+"\u1E64" => "S"
+
+# \u1e66 [LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE]
+"\u1E66" => "S"
+
+# \u1e68 [LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE]
+"\u1E68" => "S"
+
+# \u24c8 [CIRCLED LATIN CAPITAL LETTER S]
+"\u24C8" => "S"
+
+# \ua731 [LATIN LETTER SMALL CAPITAL S]
+"\uA731" => "S"
+
+# \ua785 [LATIN SMALL LETTER INSULAR S]
+"\uA785" => "S"
+
+# \uff33 [FULLWIDTH LATIN CAPITAL LETTER S]
+"\uFF33" => "S"
+
+# \u015b [LATIN SMALL LETTER S WITH ACUTE]
+"\u015B" => "s"
+
+# \u015d [LATIN SMALL LETTER S WITH CIRCUMFLEX]
+"\u015D" => "s"
+
+# \u015f [LATIN SMALL LETTER S WITH CEDILLA]
+"\u015F" => "s"
+
+# \u0161 [LATIN SMALL LETTER S WITH CARON]
+"\u0161" => "s"
+
+# \u017f http://en.wikipedia.org/wiki/Long_S [LATIN SMALL LETTER LONG S]
+"\u017F" => "s"
+
+# \u0219 [LATIN SMALL LETTER S WITH COMMA BELOW]
+"\u0219" => "s"
+
+# \u023f [LATIN SMALL LETTER S WITH SWASH TAIL]
+"\u023F" => "s"
+
+# \u0282 [LATIN SMALL LETTER S WITH HOOK]
+"\u0282" => "s"
+
+# \u1d74 [LATIN SMALL LETTER S WITH MIDDLE TILDE]
+"\u1D74" => "s"
+
+# \u1d8a [LATIN SMALL LETTER S WITH PALATAL HOOK]
+"\u1D8A" => "s"
+
+# \u1e61 [LATIN SMALL LETTER S WITH DOT ABOVE]
+"\u1E61" => "s"
+
+# \u1e63 [LATIN SMALL LETTER S WITH DOT BELOW]
+"\u1E63" => "s"
+
+# \u1e65 [LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE]
+"\u1E65" => "s"
+
+# \u1e67 [LATIN SMALL LETTER S WITH CARON AND DOT ABOVE]
+"\u1E67" => "s"
+
+# \u1e69 [LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE]
+"\u1E69" => "s"
+
+# \u1e9c [LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE]
+"\u1E9C" => "s"
+
+# \u1e9d [LATIN SMALL LETTER LONG S WITH HIGH STROKE]
+"\u1E9D" => "s"
+
+# \u24e2 [CIRCLED LATIN SMALL LETTER S]
+"\u24E2" => "s"
+
+# \ua784 [LATIN CAPITAL LETTER INSULAR S]
+"\uA784" => "s"
+
+# \uff53 [FULLWIDTH LATIN SMALL LETTER S]
+"\uFF53" => "s"
+
+# \u1e9e [LATIN CAPITAL LETTER SHARP S]
+"\u1E9E" => "SS"
+
+# \u24ae [PARENTHESIZED LATIN SMALL LETTER S]
+"\u24AE" => "(s)"
+
+# � [LATIN SMALL LETTER SHARP S]
+"\u00DF" => "ss"
+
+# \ufb06 [LATIN SMALL LIGATURE ST]
+"\uFB06" => "st"
+
+# \u0162 [LATIN CAPITAL LETTER T WITH CEDILLA]
+"\u0162" => "T"
+
+# \u0164 [LATIN CAPITAL LETTER T WITH CARON]
+"\u0164" => "T"
+
+# \u0166 [LATIN CAPITAL LETTER T WITH STROKE]
+"\u0166" => "T"
+
+# \u01ac [LATIN CAPITAL LETTER T WITH HOOK]
+"\u01AC" => "T"
+
+# \u01ae [LATIN CAPITAL LETTER T WITH RETROFLEX HOOK]
+"\u01AE" => "T"
+
+# \u021a [LATIN CAPITAL LETTER T WITH COMMA BELOW]
+"\u021A" => "T"
+
+# \u023e [LATIN CAPITAL LETTER T WITH DIAGONAL STROKE]
+"\u023E" => "T"
+
+# \u1d1b [LATIN LETTER SMALL CAPITAL T]
+"\u1D1B" => "T"
+
+# \u1e6a [LATIN CAPITAL LETTER T WITH DOT ABOVE]
+"\u1E6A" => "T"
+
+# \u1e6c [LATIN CAPITAL LETTER T WITH DOT BELOW]
+"\u1E6C" => "T"
+
+# \u1e6e [LATIN CAPITAL LETTER T WITH LINE BELOW]
+"\u1E6E" => "T"
+
+# \u1e70 [LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW]
+"\u1E70" => "T"
+
+# \u24c9 [CIRCLED LATIN CAPITAL LETTER T]
+"\u24C9" => "T"
+
+# \ua786 [LATIN CAPITAL LETTER INSULAR T]
+"\uA786" => "T"
+
+# \uff34 [FULLWIDTH LATIN CAPITAL LETTER T]
+"\uFF34" => "T"
+
+# \u0163 [LATIN SMALL LETTER T WITH CEDILLA]
+"\u0163" => "t"
+
+# \u0165 [LATIN SMALL LETTER T WITH CARON]
+"\u0165" => "t"
+
+# \u0167 [LATIN SMALL LETTER T WITH STROKE]
+"\u0167" => "t"
+
+# \u01ab [LATIN SMALL LETTER T WITH PALATAL HOOK]
+"\u01AB" => "t"
+
+# \u01ad [LATIN SMALL LETTER T WITH HOOK]
+"\u01AD" => "t"
+
+# \u021b [LATIN SMALL LETTER T WITH COMMA BELOW]
+"\u021B" => "t"
+
+# \u0236 [LATIN SMALL LETTER T WITH CURL]
+"\u0236" => "t"
+
+# \u0287 [LATIN SMALL LETTER TURNED T]
+"\u0287" => "t"
+
+# \u0288 [LATIN SMALL LETTER T WITH RETROFLEX HOOK]
+"\u0288" => "t"
+
+# \u1d75 [LATIN SMALL LETTER T WITH MIDDLE TILDE]
+"\u1D75" => "t"
+
+# \u1e6b [LATIN SMALL LETTER T WITH DOT ABOVE]
+"\u1E6B" => "t"
+
+# \u1e6d [LATIN SMALL LETTER T WITH DOT BELOW]
+"\u1E6D" => "t"
+
+# \u1e6f [LATIN SMALL LETTER T WITH LINE BELOW]
+"\u1E6F" => "t"
+
+# \u1e71 [LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW]
+"\u1E71" => "t"
+
+# \u1e97 [LATIN SMALL LETTER T WITH DIAERESIS]
+"\u1E97" => "t"
+
+# \u24e3 [CIRCLED LATIN SMALL LETTER T]
+"\u24E3" => "t"
+
+# \u2c66 [LATIN SMALL LETTER T WITH DIAGONAL STROKE]
+"\u2C66" => "t"
+
+# \uff54 [FULLWIDTH LATIN SMALL LETTER T]
+"\uFF54" => "t"
+
+# � [LATIN CAPITAL LETTER THORN]
+"\u00DE" => "TH"
+
+# \ua766 [LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER]
+"\uA766" => "TH"
+
+# \ua728 [LATIN CAPITAL LETTER TZ]
+"\uA728" => "TZ"
+
+# \u24af [PARENTHESIZED LATIN SMALL LETTER T]
+"\u24AF" => "(t)"
+
+# \u02a8 [LATIN SMALL LETTER TC DIGRAPH WITH CURL]
+"\u02A8" => "tc"
+
+# � [LATIN SMALL LETTER THORN]
+"\u00FE" => "th"
+
+# \u1d7a [LATIN SMALL LETTER TH WITH STRIKETHROUGH]
+"\u1D7A" => "th"
+
+# \ua767 [LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER]
+"\uA767" => "th"
+
+# \u02a6 [LATIN SMALL LETTER TS DIGRAPH]
+"\u02A6" => "ts"
+
+# \ua729 [LATIN SMALL LETTER TZ]
+"\uA729" => "tz"
+
+# � [LATIN CAPITAL LETTER U WITH GRAVE]
+"\u00D9" => "U"
+
+# � [LATIN CAPITAL LETTER U WITH ACUTE]
+"\u00DA" => "U"
+
+# � [LATIN CAPITAL LETTER U WITH CIRCUMFLEX]
+"\u00DB" => "U"
+
+# � [LATIN CAPITAL LETTER U WITH DIAERESIS]
+"\u00DC" => "U"
+
+# \u0168 [LATIN CAPITAL LETTER U WITH TILDE]
+"\u0168" => "U"
+
+# \u016a [LATIN CAPITAL LETTER U WITH MACRON]
+"\u016A" => "U"
+
+# \u016c [LATIN CAPITAL LETTER U WITH BREVE]
+"\u016C" => "U"
+
+# \u016e [LATIN CAPITAL LETTER U WITH RING ABOVE]
+"\u016E" => "U"
+
+# \u0170 [LATIN CAPITAL LETTER U WITH DOUBLE ACUTE]
+"\u0170" => "U"
+
+# \u0172 [LATIN CAPITAL LETTER U WITH OGONEK]
+"\u0172" => "U"
+
+# \u01af [LATIN CAPITAL LETTER U WITH HORN]
+"\u01AF" => "U"
+
+# \u01d3 [LATIN CAPITAL LETTER U WITH CARON]
+"\u01D3" => "U"
+
+# \u01d5 [LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON]
+"\u01D5" => "U"
+
+# \u01d7 [LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE]
+"\u01D7" => "U"
+
+# \u01d9 [LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON]
+"\u01D9" => "U"
+
+# \u01db [LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE]
+"\u01DB" => "U"
+
+# \u0214 [LATIN CAPITAL LETTER U WITH DOUBLE GRAVE]
+"\u0214" => "U"
+
+# \u0216 [LATIN CAPITAL LETTER U WITH INVERTED BREVE]
+"\u0216" => "U"
+
+# \u0244 [LATIN CAPITAL LETTER U BAR]
+"\u0244" => "U"
+
+# \u1d1c [LATIN LETTER SMALL CAPITAL U]
+"\u1D1C" => "U"
+
+# \u1d7e [LATIN SMALL CAPITAL LETTER U WITH STROKE]
+"\u1D7E" => "U"
+
+# \u1e72 [LATIN CAPITAL LETTER U WITH DIAERESIS BELOW]
+"\u1E72" => "U"
+
+# \u1e74 [LATIN CAPITAL LETTER U WITH TILDE BELOW]
+"\u1E74" => "U"
+
+# \u1e76 [LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW]
+"\u1E76" => "U"
+
+# \u1e78 [LATIN CAPITAL LETTER U WITH TILDE AND ACUTE]
+"\u1E78" => "U"
+
+# \u1e7a [LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS]
+"\u1E7A" => "U"
+
+# \u1ee4 [LATIN CAPITAL LETTER U WITH DOT BELOW]
+"\u1EE4" => "U"
+
+# \u1ee6 [LATIN CAPITAL LETTER U WITH HOOK ABOVE]
+"\u1EE6" => "U"
+
+# \u1ee8 [LATIN CAPITAL LETTER U WITH HORN AND ACUTE]
+"\u1EE8" => "U"
+
+# \u1eea [LATIN CAPITAL LETTER U WITH HORN AND GRAVE]
+"\u1EEA" => "U"
+
+# \u1eec [LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE]
+"\u1EEC" => "U"
+
+# \u1eee [LATIN CAPITAL LETTER U WITH HORN AND TILDE]
+"\u1EEE" => "U"
+
+# \u1ef0 [LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW]
+"\u1EF0" => "U"
+
+# \u24ca [CIRCLED LATIN CAPITAL LETTER U]
+"\u24CA" => "U"
+
+# \uff35 [FULLWIDTH LATIN CAPITAL LETTER U]
+"\uFF35" => "U"
+
+# � [LATIN SMALL LETTER U WITH GRAVE]
+"\u00F9" => "u"
+
+# � [LATIN SMALL LETTER U WITH ACUTE]
+"\u00FA" => "u"
+
+# � [LATIN SMALL LETTER U WITH CIRCUMFLEX]
+"\u00FB" => "u"
+
+# � [LATIN SMALL LETTER U WITH DIAERESIS]
+"\u00FC" => "u"
+
+# \u0169 [LATIN SMALL LETTER U WITH TILDE]
+"\u0169" => "u"
+
+# \u016b [LATIN SMALL LETTER U WITH MACRON]
+"\u016B" => "u"
+
+# \u016d [LATIN SMALL LETTER U WITH BREVE]
+"\u016D" => "u"
+
+# \u016f [LATIN SMALL LETTER U WITH RING ABOVE]
+"\u016F" => "u"
+
+# \u0171 [LATIN SMALL LETTER U WITH DOUBLE ACUTE]
+"\u0171" => "u"
+
+# \u0173 [LATIN SMALL LETTER U WITH OGONEK]
+"\u0173" => "u"
+
+# \u01b0 [LATIN SMALL LETTER U WITH HORN]
+"\u01B0" => "u"
+
+# \u01d4 [LATIN SMALL LETTER U WITH CARON]
+"\u01D4" => "u"
+
+# \u01d6 [LATIN SMALL LETTER U WITH DIAERESIS AND MACRON]
+"\u01D6" => "u"
+
+# \u01d8 [LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE]
+"\u01D8" => "u"
+
+# \u01da [LATIN SMALL LETTER U WITH DIAERESIS AND CARON]
+"\u01DA" => "u"
+
+# \u01dc [LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE]
+"\u01DC" => "u"
+
+# \u0215 [LATIN SMALL LETTER U WITH DOUBLE GRAVE]
+"\u0215" => "u"
+
+# \u0217 [LATIN SMALL LETTER U WITH INVERTED BREVE]
+"\u0217" => "u"
+
+# \u0289 [LATIN SMALL LETTER U BAR]
+"\u0289" => "u"
+
+# \u1d64 [LATIN SUBSCRIPT SMALL LETTER U]
+"\u1D64" => "u"
+
+# \u1d99 [LATIN SMALL LETTER U WITH RETROFLEX HOOK]
+"\u1D99" => "u"
+
+# \u1e73 [LATIN SMALL LETTER U WITH DIAERESIS BELOW]
+"\u1E73" => "u"
+
+# \u1e75 [LATIN SMALL LETTER U WITH TILDE BELOW]
+"\u1E75" => "u"
+
+# \u1e77 [LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW]
+"\u1E77" => "u"
+
+# \u1e79 [LATIN SMALL LETTER U WITH TILDE AND ACUTE]
+"\u1E79" => "u"
+
+# \u1e7b [LATIN SMALL LETTER U WITH MACRON AND DIAERESIS]
+"\u1E7B" => "u"
+
+# \u1ee5 [LATIN SMALL LETTER U WITH DOT BELOW]
+"\u1EE5" => "u"
+
+# \u1ee7 [LATIN SMALL LETTER U WITH HOOK ABOVE]
+"\u1EE7" => "u"
+
+# \u1ee9 [LATIN SMALL LETTER U WITH HORN AND ACUTE]
+"\u1EE9" => "u"
+
+# \u1eeb [LATIN SMALL LETTER U WITH HORN AND GRAVE]
+"\u1EEB" => "u"
+
+# \u1eed [LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE]
+"\u1EED" => "u"
+
+# \u1eef [LATIN SMALL LETTER U WITH HORN AND TILDE]
+"\u1EEF" => "u"
+
+# \u1ef1 [LATIN SMALL LETTER U WITH HORN AND DOT BELOW]
+"\u1EF1" => "u"
+
+# \u24e4 [CIRCLED LATIN SMALL LETTER U]
+"\u24E4" => "u"
+
+# \uff55 [FULLWIDTH LATIN SMALL LETTER U]
+"\uFF55" => "u"
+
+# \u24b0 [PARENTHESIZED LATIN SMALL LETTER U]
+"\u24B0" => "(u)"
+
+# \u1d6b [LATIN SMALL LETTER UE]
+"\u1D6B" => "ue"
+
+# \u01b2 [LATIN CAPITAL LETTER V WITH HOOK]
+"\u01B2" => "V"
+
+# \u0245 [LATIN CAPITAL LETTER TURNED V]
+"\u0245" => "V"
+
+# \u1d20 [LATIN LETTER SMALL CAPITAL V]
+"\u1D20" => "V"
+
+# \u1e7c [LATIN CAPITAL LETTER V WITH TILDE]
+"\u1E7C" => "V"
+
+# \u1e7e [LATIN CAPITAL LETTER V WITH DOT BELOW]
+"\u1E7E" => "V"
+
+# \u1efc [LATIN CAPITAL LETTER MIDDLE-WELSH V]
+"\u1EFC" => "V"
+
+# \u24cb [CIRCLED LATIN CAPITAL LETTER V]
+"\u24CB" => "V"
+
+# \ua75e [LATIN CAPITAL LETTER V WITH DIAGONAL STROKE]
+"\uA75E" => "V"
+
+# \ua768 [LATIN CAPITAL LETTER VEND]
+"\uA768" => "V"
+
+# \uff36 [FULLWIDTH LATIN CAPITAL LETTER V]
+"\uFF36" => "V"
+
+# \u028b [LATIN SMALL LETTER V WITH HOOK]
+"\u028B" => "v"
+
+# \u028c [LATIN SMALL LETTER TURNED V]
+"\u028C" => "v"
+
+# \u1d65 [LATIN SUBSCRIPT SMALL LETTER V]
+"\u1D65" => "v"
+
+# \u1d8c [LATIN SMALL LETTER V WITH PALATAL HOOK]
+"\u1D8C" => "v"
+
+# \u1e7d [LATIN SMALL LETTER V WITH TILDE]
+"\u1E7D" => "v"
+
+# \u1e7f [LATIN SMALL LETTER V WITH DOT BELOW]
+"\u1E7F" => "v"
+
+# \u24e5 [CIRCLED LATIN SMALL LETTER V]
+"\u24E5" => "v"
+
+# \u2c71 [LATIN SMALL LETTER V WITH RIGHT HOOK]
+"\u2C71" => "v"
+
+# \u2c74 [LATIN SMALL LETTER V WITH CURL]
+"\u2C74" => "v"
+
+# \ua75f [LATIN SMALL LETTER V WITH DIAGONAL STROKE]
+"\uA75F" => "v"
+
+# \uff56 [FULLWIDTH LATIN SMALL LETTER V]
+"\uFF56" => "v"
+
+# \ua760 [LATIN CAPITAL LETTER VY]
+"\uA760" => "VY"
+
+# \u24b1 [PARENTHESIZED LATIN SMALL LETTER V]
+"\u24B1" => "(v)"
+
+# \ua761 [LATIN SMALL LETTER VY]
+"\uA761" => "vy"
+
+# \u0174 [LATIN CAPITAL LETTER W WITH CIRCUMFLEX]
+"\u0174" => "W"
+
+# \u01f7 http://en.wikipedia.org/wiki/Wynn [LATIN CAPITAL LETTER WYNN]
+"\u01F7" => "W"
+
+# \u1d21 [LATIN LETTER SMALL CAPITAL W]
+"\u1D21" => "W"
+
+# \u1e80 [LATIN CAPITAL LETTER W WITH GRAVE]
+"\u1E80" => "W"
+
+# \u1e82 [LATIN CAPITAL LETTER W WITH ACUTE]
+"\u1E82" => "W"
+
+# \u1e84 [LATIN CAPITAL LETTER W WITH DIAERESIS]
+"\u1E84" => "W"
+
+# \u1e86 [LATIN CAPITAL LETTER W WITH DOT ABOVE]
+"\u1E86" => "W"
+
+# \u1e88 [LATIN CAPITAL LETTER W WITH DOT BELOW]
+"\u1E88" => "W"
+
+# \u24cc [CIRCLED LATIN CAPITAL LETTER W]
+"\u24CC" => "W"
+
+# \u2c72 [LATIN CAPITAL LETTER W WITH HOOK]
+"\u2C72" => "W"
+
+# \uff37 [FULLWIDTH LATIN CAPITAL LETTER W]
+"\uFF37" => "W"
+
+# \u0175 [LATIN SMALL LETTER W WITH CIRCUMFLEX]
+"\u0175" => "w"
+
+# \u01bf http://en.wikipedia.org/wiki/Wynn [LATIN LETTER WYNN]
+"\u01BF" => "w"
+
+# \u028d [LATIN SMALL LETTER TURNED W]
+"\u028D" => "w"
+
+# \u1e81 [LATIN SMALL LETTER W WITH GRAVE]
+"\u1E81" => "w"
+
+# \u1e83 [LATIN SMALL LETTER W WITH ACUTE]
+"\u1E83" => "w"
+
+# \u1e85 [LATIN SMALL LETTER W WITH DIAERESIS]
+"\u1E85" => "w"
+
+# \u1e87 [LATIN SMALL LETTER W WITH DOT ABOVE]
+"\u1E87" => "w"
+
+# \u1e89 [LATIN SMALL LETTER W WITH DOT BELOW]
+"\u1E89" => "w"
+
+# \u1e98 [LATIN SMALL LETTER W WITH RING ABOVE]
+"\u1E98" => "w"
+
+# \u24e6 [CIRCLED LATIN SMALL LETTER W]
+"\u24E6" => "w"
+
+# \u2c73 [LATIN SMALL LETTER W WITH HOOK]
+"\u2C73" => "w"
+
+# \uff57 [FULLWIDTH LATIN SMALL LETTER W]
+"\uFF57" => "w"
+
+# \u24b2 [PARENTHESIZED LATIN SMALL LETTER W]
+"\u24B2" => "(w)"
+
+# \u1e8a [LATIN CAPITAL LETTER X WITH DOT ABOVE]
+"\u1E8A" => "X"
+
+# \u1e8c [LATIN CAPITAL LETTER X WITH DIAERESIS]
+"\u1E8C" => "X"
+
+# \u24cd [CIRCLED LATIN CAPITAL LETTER X]
+"\u24CD" => "X"
+
+# \uff38 [FULLWIDTH LATIN CAPITAL LETTER X]
+"\uFF38" => "X"
+
+# \u1d8d [LATIN SMALL LETTER X WITH PALATAL HOOK]
+"\u1D8D" => "x"
+
+# \u1e8b [LATIN SMALL LETTER X WITH DOT ABOVE]
+"\u1E8B" => "x"
+
+# \u1e8d [LATIN SMALL LETTER X WITH DIAERESIS]
+"\u1E8D" => "x"
+
+# \u2093 [LATIN SUBSCRIPT SMALL LETTER X]
+"\u2093" => "x"
+
+# \u24e7 [CIRCLED LATIN SMALL LETTER X]
+"\u24E7" => "x"
+
+# \uff58 [FULLWIDTH LATIN SMALL LETTER X]
+"\uFF58" => "x"
+
+# \u24b3 [PARENTHESIZED LATIN SMALL LETTER X]
+"\u24B3" => "(x)"
+
+# � [LATIN CAPITAL LETTER Y WITH ACUTE]
+"\u00DD" => "Y"
+
+# \u0176 [LATIN CAPITAL LETTER Y WITH CIRCUMFLEX]
+"\u0176" => "Y"
+
+# \u0178 [LATIN CAPITAL LETTER Y WITH DIAERESIS]
+"\u0178" => "Y"
+
+# \u01b3 [LATIN CAPITAL LETTER Y WITH HOOK]
+"\u01B3" => "Y"
+
+# \u0232 [LATIN CAPITAL LETTER Y WITH MACRON]
+"\u0232" => "Y"
+
+# \u024e [LATIN CAPITAL LETTER Y WITH STROKE]
+"\u024E" => "Y"
+
+# \u028f [LATIN LETTER SMALL CAPITAL Y]
+"\u028F" => "Y"
+
+# \u1e8e [LATIN CAPITAL LETTER Y WITH DOT ABOVE]
+"\u1E8E" => "Y"
+
+# \u1ef2 [LATIN CAPITAL LETTER Y WITH GRAVE]
+"\u1EF2" => "Y"
+
+# \u1ef4 [LATIN CAPITAL LETTER Y WITH DOT BELOW]
+"\u1EF4" => "Y"
+
+# \u1ef6 [LATIN CAPITAL LETTER Y WITH HOOK ABOVE]
+"\u1EF6" => "Y"
+
+# \u1ef8 [LATIN CAPITAL LETTER Y WITH TILDE]
+"\u1EF8" => "Y"
+
+# \u1efe [LATIN CAPITAL LETTER Y WITH LOOP]
+"\u1EFE" => "Y"
+
+# \u24ce [CIRCLED LATIN CAPITAL LETTER Y]
+"\u24CE" => "Y"
+
+# \uff39 [FULLWIDTH LATIN CAPITAL LETTER Y]
+"\uFF39" => "Y"
+
+# � [LATIN SMALL LETTER Y WITH ACUTE]
+"\u00FD" => "y"
+
+# � [LATIN SMALL LETTER Y WITH DIAERESIS]
+"\u00FF" => "y"
+
+# \u0177 [LATIN SMALL LETTER Y WITH CIRCUMFLEX]
+"\u0177" => "y"
+
+# \u01b4 [LATIN SMALL LETTER Y WITH HOOK]
+"\u01B4" => "y"
+
+# \u0233 [LATIN SMALL LETTER Y WITH MACRON]
+"\u0233" => "y"
+
+# \u024f [LATIN SMALL LETTER Y WITH STROKE]
+"\u024F" => "y"
+
+# \u028e [LATIN SMALL LETTER TURNED Y]
+"\u028E" => "y"
+
+# \u1e8f [LATIN SMALL LETTER Y WITH DOT ABOVE]
+"\u1E8F" => "y"
+
+# \u1e99 [LATIN SMALL LETTER Y WITH RING ABOVE]
+"\u1E99" => "y"
+
+# \u1ef3 [LATIN SMALL LETTER Y WITH GRAVE]
+"\u1EF3" => "y"
+
+# \u1ef5 [LATIN SMALL LETTER Y WITH DOT BELOW]
+"\u1EF5" => "y"
+
+# \u1ef7 [LATIN SMALL LETTER Y WITH HOOK ABOVE]
+"\u1EF7" => "y"
+
+# \u1ef9 [LATIN SMALL LETTER Y WITH TILDE]
+"\u1EF9" => "y"
+
+# \u1eff [LATIN SMALL LETTER Y WITH LOOP]
+"\u1EFF" => "y"
+
+# \u24e8 [CIRCLED LATIN SMALL LETTER Y]
+"\u24E8" => "y"
+
+# \uff59 [FULLWIDTH LATIN SMALL LETTER Y]
+"\uFF59" => "y"
+
+# \u24b4 [PARENTHESIZED LATIN SMALL LETTER Y]
+"\u24B4" => "(y)"
+
+# \u0179 [LATIN CAPITAL LETTER Z WITH ACUTE]
+"\u0179" => "Z"
+
+# \u017b [LATIN CAPITAL LETTER Z WITH DOT ABOVE]
+"\u017B" => "Z"
+
+# \u017d [LATIN CAPITAL LETTER Z WITH CARON]
+"\u017D" => "Z"
+
+# \u01b5 [LATIN CAPITAL LETTER Z WITH STROKE]
+"\u01B5" => "Z"
+
+# \u021c http://en.wikipedia.org/wiki/Yogh [LATIN CAPITAL LETTER YOGH]
+"\u021C" => "Z"
+
+# \u0224 [LATIN CAPITAL LETTER Z WITH HOOK]
+"\u0224" => "Z"
+
+# \u1d22 [LATIN LETTER SMALL CAPITAL Z]
+"\u1D22" => "Z"
+
+# \u1e90 [LATIN CAPITAL LETTER Z WITH CIRCUMFLEX]
+"\u1E90" => "Z"
+
+# \u1e92 [LATIN CAPITAL LETTER Z WITH DOT BELOW]
+"\u1E92" => "Z"
+
+# \u1e94 [LATIN CAPITAL LETTER Z WITH LINE BELOW]
+"\u1E94" => "Z"
+
+# \u24cf [CIRCLED LATIN CAPITAL LETTER Z]
+"\u24CF" => "Z"
+
+# \u2c6b [LATIN CAPITAL LETTER Z WITH DESCENDER]
+"\u2C6B" => "Z"
+
+# \ua762 [LATIN CAPITAL LETTER VISIGOTHIC Z]
+"\uA762" => "Z"
+
+# \uff3a [FULLWIDTH LATIN CAPITAL LETTER Z]
+"\uFF3A" => "Z"
+
+# \u017a [LATIN SMALL LETTER Z WITH ACUTE]
+"\u017A" => "z"
+
+# \u017c [LATIN SMALL LETTER Z WITH DOT ABOVE]
+"\u017C" => "z"
+
+# \u017e [LATIN SMALL LETTER Z WITH CARON]
+"\u017E" => "z"
+
+# \u01b6 [LATIN SMALL LETTER Z WITH STROKE]
+"\u01B6" => "z"
+
+# \u021d http://en.wikipedia.org/wiki/Yogh [LATIN SMALL LETTER YOGH]
+"\u021D" => "z"
+
+# \u0225 [LATIN SMALL LETTER Z WITH HOOK]
+"\u0225" => "z"
+
+# \u0240 [LATIN SMALL LETTER Z WITH SWASH TAIL]
+"\u0240" => "z"
+
+# \u0290 [LATIN SMALL LETTER Z WITH RETROFLEX HOOK]
+"\u0290" => "z"
+
+# \u0291 [LATIN SMALL LETTER Z WITH CURL]
+"\u0291" => "z"
+
+# \u1d76 [LATIN SMALL LETTER Z WITH MIDDLE TILDE]
+"\u1D76" => "z"
+
+# \u1d8e [LATIN SMALL LETTER Z WITH PALATAL HOOK]
+"\u1D8E" => "z"
+
+# \u1e91 [LATIN SMALL LETTER Z WITH CIRCUMFLEX]
+"\u1E91" => "z"
+
+# \u1e93 [LATIN SMALL LETTER Z WITH DOT BELOW]
+"\u1E93" => "z"
+
+# \u1e95 [LATIN SMALL LETTER Z WITH LINE BELOW]
+"\u1E95" => "z"
+
+# \u24e9 [CIRCLED LATIN SMALL LETTER Z]
+"\u24E9" => "z"
+
+# \u2c6c [LATIN SMALL LETTER Z WITH DESCENDER]
+"\u2C6C" => "z"
+
+# \ua763 [LATIN SMALL LETTER VISIGOTHIC Z]
+"\uA763" => "z"
+
+# \uff5a [FULLWIDTH LATIN SMALL LETTER Z]
+"\uFF5A" => "z"
+
+# \u24b5 [PARENTHESIZED LATIN SMALL LETTER Z]
+"\u24B5" => "(z)"
+
+# \u2070 [SUPERSCRIPT ZERO]
+"\u2070" => "0"
+
+# \u2080 [SUBSCRIPT ZERO]
+"\u2080" => "0"
+
+# \u24ea [CIRCLED DIGIT ZERO]
+"\u24EA" => "0"
+
+# \u24ff [NEGATIVE CIRCLED DIGIT ZERO]
+"\u24FF" => "0"
+
+# \uff10 [FULLWIDTH DIGIT ZERO]
+"\uFF10" => "0"
+
+# � [SUPERSCRIPT ONE]
+"\u00B9" => "1"
+
+# \u2081 [SUBSCRIPT ONE]
+"\u2081" => "1"
+
+# \u2460 [CIRCLED DIGIT ONE]
+"\u2460" => "1"
+
+# \u24f5 [DOUBLE CIRCLED DIGIT ONE]
+"\u24F5" => "1"
+
+# \u2776 [DINGBAT NEGATIVE CIRCLED DIGIT ONE]
+"\u2776" => "1"
+
+# \u2780 [DINGBAT CIRCLED SANS-SERIF DIGIT ONE]
+"\u2780" => "1"
+
+# \u278a [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE]
+"\u278A" => "1"
+
+# \uff11 [FULLWIDTH DIGIT ONE]
+"\uFF11" => "1"
+
+# \u2488 [DIGIT ONE FULL STOP]
+"\u2488" => "1."
+
+# \u2474 [PARENTHESIZED DIGIT ONE]
+"\u2474" => "(1)"
+
+# � [SUPERSCRIPT TWO]
+"\u00B2" => "2"
+
+# \u2082 [SUBSCRIPT TWO]
+"\u2082" => "2"
+
+# \u2461 [CIRCLED DIGIT TWO]
+"\u2461" => "2"
+
+# \u24f6 [DOUBLE CIRCLED DIGIT TWO]
+"\u24F6" => "2"
+
+# \u2777 [DINGBAT NEGATIVE CIRCLED DIGIT TWO]
+"\u2777" => "2"
+
+# \u2781 [DINGBAT CIRCLED SANS-SERIF DIGIT TWO]
+"\u2781" => "2"
+
+# \u278b [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO]
+"\u278B" => "2"
+
+# \uff12 [FULLWIDTH DIGIT TWO]
+"\uFF12" => "2"
+
+# \u2489 [DIGIT TWO FULL STOP]
+"\u2489" => "2."
+
+# \u2475 [PARENTHESIZED DIGIT TWO]
+"\u2475" => "(2)"
+
+# � [SUPERSCRIPT THREE]
+"\u00B3" => "3"
+
+# \u2083 [SUBSCRIPT THREE]
+"\u2083" => "3"
+
+# \u2462 [CIRCLED DIGIT THREE]
+"\u2462" => "3"
+
+# \u24f7 [DOUBLE CIRCLED DIGIT THREE]
+"\u24F7" => "3"
+
+# \u2778 [DINGBAT NEGATIVE CIRCLED DIGIT THREE]
+"\u2778" => "3"
+
+# \u2782 [DINGBAT CIRCLED SANS-SERIF DIGIT THREE]
+"\u2782" => "3"
+
+# \u278c [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE]
+"\u278C" => "3"
+
+# \uff13 [FULLWIDTH DIGIT THREE]
+"\uFF13" => "3"
+
+# \u248a [DIGIT THREE FULL STOP]
+"\u248A" => "3."
+
+# \u2476 [PARENTHESIZED DIGIT THREE]
+"\u2476" => "(3)"
+
+# \u2074 [SUPERSCRIPT FOUR]
+"\u2074" => "4"
+
+# \u2084 [SUBSCRIPT FOUR]
+"\u2084" => "4"
+
+# \u2463 [CIRCLED DIGIT FOUR]
+"\u2463" => "4"
+
+# \u24f8 [DOUBLE CIRCLED DIGIT FOUR]
+"\u24F8" => "4"
+
+# \u2779 [DINGBAT NEGATIVE CIRCLED DIGIT FOUR]
+"\u2779" => "4"
+
+# \u2783 [DINGBAT CIRCLED SANS-SERIF DIGIT FOUR]
+"\u2783" => "4"
+
+# \u278d [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR]
+"\u278D" => "4"
+
+# \uff14 [FULLWIDTH DIGIT FOUR]
+"\uFF14" => "4"
+
+# \u248b [DIGIT FOUR FULL STOP]
+"\u248B" => "4."
+
+# \u2477 [PARENTHESIZED DIGIT FOUR]
+"\u2477" => "(4)"
+
+# \u2075 [SUPERSCRIPT FIVE]
+"\u2075" => "5"
+
+# \u2085 [SUBSCRIPT FIVE]
+"\u2085" => "5"
+
+# \u2464 [CIRCLED DIGIT FIVE]
+"\u2464" => "5"
+
+# \u24f9 [DOUBLE CIRCLED DIGIT FIVE]
+"\u24F9" => "5"
+
+# \u277a [DINGBAT NEGATIVE CIRCLED DIGIT FIVE]
+"\u277A" => "5"
+
+# \u2784 [DINGBAT CIRCLED SANS-SERIF DIGIT FIVE]
+"\u2784" => "5"
+
+# \u278e [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE]
+"\u278E" => "5"
+
+# \uff15 [FULLWIDTH DIGIT FIVE]
+"\uFF15" => "5"
+
+# \u248c [DIGIT FIVE FULL STOP]
+"\u248C" => "5."
+
+# \u2478 [PARENTHESIZED DIGIT FIVE]
+"\u2478" => "(5)"
+
+# \u2076 [SUPERSCRIPT SIX]
+"\u2076" => "6"
+
+# \u2086 [SUBSCRIPT SIX]
+"\u2086" => "6"
+
+# \u2465 [CIRCLED DIGIT SIX]
+"\u2465" => "6"
+
+# \u24fa [DOUBLE CIRCLED DIGIT SIX]
+"\u24FA" => "6"
+
+# \u277b [DINGBAT NEGATIVE CIRCLED DIGIT SIX]
+"\u277B" => "6"
+
+# \u2785 [DINGBAT CIRCLED SANS-SERIF DIGIT SIX]
+"\u2785" => "6"
+
+# \u278f [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX]
+"\u278F" => "6"
+
+# \uff16 [FULLWIDTH DIGIT SIX]
+"\uFF16" => "6"
+
+# \u248d [DIGIT SIX FULL STOP]
+"\u248D" => "6."
+
+# \u2479 [PARENTHESIZED DIGIT SIX]
+"\u2479" => "(6)"
+
+# \u2077 [SUPERSCRIPT SEVEN]
+"\u2077" => "7"
+
+# \u2087 [SUBSCRIPT SEVEN]
+"\u2087" => "7"
+
+# \u2466 [CIRCLED DIGIT SEVEN]
+"\u2466" => "7"
+
+# \u24fb [DOUBLE CIRCLED DIGIT SEVEN]
+"\u24FB" => "7"
+
+# \u277c [DINGBAT NEGATIVE CIRCLED DIGIT SEVEN]
+"\u277C" => "7"
+
+# \u2786 [DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN]
+"\u2786" => "7"
+
+# \u2790 [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN]
+"\u2790" => "7"
+
+# \uff17 [FULLWIDTH DIGIT SEVEN]
+"\uFF17" => "7"
+
+# \u248e [DIGIT SEVEN FULL STOP]
+"\u248E" => "7."
+
+# \u247a [PARENTHESIZED DIGIT SEVEN]
+"\u247A" => "(7)"
+
+# \u2078 [SUPERSCRIPT EIGHT]
+"\u2078" => "8"
+
+# \u2088 [SUBSCRIPT EIGHT]
+"\u2088" => "8"
+
+# \u2467 [CIRCLED DIGIT EIGHT]
+"\u2467" => "8"
+
+# \u24fc [DOUBLE CIRCLED DIGIT EIGHT]
+"\u24FC" => "8"
+
+# \u277d [DINGBAT NEGATIVE CIRCLED DIGIT EIGHT]
+"\u277D" => "8"
+
+# \u2787 [DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT]
+"\u2787" => "8"
+
+# \u2791 [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT]
+"\u2791" => "8"
+
+# \uff18 [FULLWIDTH DIGIT EIGHT]
+"\uFF18" => "8"
+
+# \u248f [DIGIT EIGHT FULL STOP]
+"\u248F" => "8."
+
+# \u247b [PARENTHESIZED DIGIT EIGHT]
+"\u247B" => "(8)"
+
+# \u2079 [SUPERSCRIPT NINE]
+"\u2079" => "9"
+
+# \u2089 [SUBSCRIPT NINE]
+"\u2089" => "9"
+
+# \u2468 [CIRCLED DIGIT NINE]
+"\u2468" => "9"
+
+# \u24fd [DOUBLE CIRCLED DIGIT NINE]
+"\u24FD" => "9"
+
+# \u277e [DINGBAT NEGATIVE CIRCLED DIGIT NINE]
+"\u277E" => "9"
+
+# \u2788 [DINGBAT CIRCLED SANS-SERIF DIGIT NINE]
+"\u2788" => "9"
+
+# \u2792 [DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE]
+"\u2792" => "9"
+
+# \uff19 [FULLWIDTH DIGIT NINE]
+"\uFF19" => "9"
+
+# \u2490 [DIGIT NINE FULL STOP]
+"\u2490" => "9."
+
+# \u247c [PARENTHESIZED DIGIT NINE]
+"\u247C" => "(9)"
+
+# \u2469 [CIRCLED NUMBER TEN]
+"\u2469" => "10"
+
+# \u24fe [DOUBLE CIRCLED NUMBER TEN]
+"\u24FE" => "10"
+
+# \u277f [DINGBAT NEGATIVE CIRCLED NUMBER TEN]
+"\u277F" => "10"
+
+# \u2789 [DINGBAT CIRCLED SANS-SERIF NUMBER TEN]
+"\u2789" => "10"
+
+# \u2793 [DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN]
+"\u2793" => "10"
+
+# \u2491 [NUMBER TEN FULL STOP]
+"\u2491" => "10."
+
+# \u247d [PARENTHESIZED NUMBER TEN]
+"\u247D" => "(10)"
+
+# \u246a [CIRCLED NUMBER ELEVEN]
+"\u246A" => "11"
+
+# \u24eb [NEGATIVE CIRCLED NUMBER ELEVEN]
+"\u24EB" => "11"
+
+# \u2492 [NUMBER ELEVEN FULL STOP]
+"\u2492" => "11."
+
+# \u247e [PARENTHESIZED NUMBER ELEVEN]
+"\u247E" => "(11)"
+
+# \u246b [CIRCLED NUMBER TWELVE]
+"\u246B" => "12"
+
+# \u24ec [NEGATIVE CIRCLED NUMBER TWELVE]
+"\u24EC" => "12"
+
+# \u2493 [NUMBER TWELVE FULL STOP]
+"\u2493" => "12."
+
+# \u247f [PARENTHESIZED NUMBER TWELVE]
+"\u247F" => "(12)"
+
+# \u246c [CIRCLED NUMBER THIRTEEN]
+"\u246C" => "13"
+
+# \u24ed [NEGATIVE CIRCLED NUMBER THIRTEEN]
+"\u24ED" => "13"
+
+# \u2494 [NUMBER THIRTEEN FULL STOP]
+"\u2494" => "13."
+
+# \u2480 [PARENTHESIZED NUMBER THIRTEEN]
+"\u2480" => "(13)"
+
+# \u246d [CIRCLED NUMBER FOURTEEN]
+"\u246D" => "14"
+
+# \u24ee [NEGATIVE CIRCLED NUMBER FOURTEEN]
+"\u24EE" => "14"
+
+# \u2495 [NUMBER FOURTEEN FULL STOP]
+"\u2495" => "14."
+
+# \u2481 [PARENTHESIZED NUMBER FOURTEEN]
+"\u2481" => "(14)"
+
+# \u246e [CIRCLED NUMBER FIFTEEN]
+"\u246E" => "15"
+
+# \u24ef [NEGATIVE CIRCLED NUMBER FIFTEEN]
+"\u24EF" => "15"
+
+# \u2496 [NUMBER FIFTEEN FULL STOP]
+"\u2496" => "15."
+
+# \u2482 [PARENTHESIZED NUMBER FIFTEEN]
+"\u2482" => "(15)"
+
+# \u246f [CIRCLED NUMBER SIXTEEN]
+"\u246F" => "16"
+
+# \u24f0 [NEGATIVE CIRCLED NUMBER SIXTEEN]
+"\u24F0" => "16"
+
+# \u2497 [NUMBER SIXTEEN FULL STOP]
+"\u2497" => "16."
+
+# \u2483 [PARENTHESIZED NUMBER SIXTEEN]
+"\u2483" => "(16)"
+
+# \u2470 [CIRCLED NUMBER SEVENTEEN]
+"\u2470" => "17"
+
+# \u24f1 [NEGATIVE CIRCLED NUMBER SEVENTEEN]
+"\u24F1" => "17"
+
+# \u2498 [NUMBER SEVENTEEN FULL STOP]
+"\u2498" => "17."
+
+# \u2484 [PARENTHESIZED NUMBER SEVENTEEN]
+"\u2484" => "(17)"
+
+# \u2471 [CIRCLED NUMBER EIGHTEEN]
+"\u2471" => "18"
+
+# \u24f2 [NEGATIVE CIRCLED NUMBER EIGHTEEN]
+"\u24F2" => "18"
+
+# \u2499 [NUMBER EIGHTEEN FULL STOP]
+"\u2499" => "18."
+
+# \u2485 [PARENTHESIZED NUMBER EIGHTEEN]
+"\u2485" => "(18)"
+
+# \u2472 [CIRCLED NUMBER NINETEEN]
+"\u2472" => "19"
+
+# \u24f3 [NEGATIVE CIRCLED NUMBER NINETEEN]
+"\u24F3" => "19"
+
+# \u249a [NUMBER NINETEEN FULL STOP]
+"\u249A" => "19."
+
+# \u2486 [PARENTHESIZED NUMBER NINETEEN]
+"\u2486" => "(19)"
+
+# \u2473 [CIRCLED NUMBER TWENTY]
+"\u2473" => "20"
+
+# \u24f4 [NEGATIVE CIRCLED NUMBER TWENTY]
+"\u24F4" => "20"
+
+# \u249b [NUMBER TWENTY FULL STOP]
+"\u249B" => "20."
+
+# \u2487 [PARENTHESIZED NUMBER TWENTY]
+"\u2487" => "(20)"
+
+# � [LEFT-POINTING DOUBLE ANGLE QUOTATION MARK]
+"\u00AB" => "\""
+
+# � [RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK]
+"\u00BB" => "\""
+
+# \u201c [LEFT DOUBLE QUOTATION MARK]
+"\u201C" => "\""
+
+# \u201d [RIGHT DOUBLE QUOTATION MARK]
+"\u201D" => "\""
+
+# \u201e [DOUBLE LOW-9 QUOTATION MARK]
+"\u201E" => "\""
+
+# \u2033 [DOUBLE PRIME]
+"\u2033" => "\""
+
+# \u2036 [REVERSED DOUBLE PRIME]
+"\u2036" => "\""
+
+# \u275d [HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT]
+"\u275D" => "\""
+
+# \u275e [HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT]
+"\u275E" => "\""
+
+# \u276e [HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT]
+"\u276E" => "\""
+
+# \u276f [HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT]
+"\u276F" => "\""
+
+# \uff02 [FULLWIDTH QUOTATION MARK]
+"\uFF02" => "\""
+
+# \u2018 [LEFT SINGLE QUOTATION MARK]
+"\u2018" => "\'"
+
+# \u2019 [RIGHT SINGLE QUOTATION MARK]
+"\u2019" => "\'"
+
+# \u201a [SINGLE LOW-9 QUOTATION MARK]
+"\u201A" => "\'"
+
+# \u201b [SINGLE HIGH-REVERSED-9 QUOTATION MARK]
+"\u201B" => "\'"
+
+# \u2032 [PRIME]
+"\u2032" => "\'"
+
+# \u2035 [REVERSED PRIME]
+"\u2035" => "\'"
+
+# \u2039 [SINGLE LEFT-POINTING ANGLE QUOTATION MARK]
+"\u2039" => "\'"
+
+# \u203a [SINGLE RIGHT-POINTING ANGLE QUOTATION MARK]
+"\u203A" => "\'"
+
+# \u275b [HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT]
+"\u275B" => "\'"
+
+# \u275c [HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT]
+"\u275C" => "\'"
+
+# \uff07 [FULLWIDTH APOSTROPHE]
+"\uFF07" => "\'"
+
+# \u2010 [HYPHEN]
+"\u2010" => "-"
+
+# \u2011 [NON-BREAKING HYPHEN]
+"\u2011" => "-"
+
+# \u2012 [FIGURE DASH]
+"\u2012" => "-"
+
+# \u2013 [EN DASH]
+"\u2013" => "-"
+
+# \u2014 [EM DASH]
+"\u2014" => "-"
+
+# \u207b [SUPERSCRIPT MINUS]
+"\u207B" => "-"
+
+# \u208b [SUBSCRIPT MINUS]
+"\u208B" => "-"
+
+# \uff0d [FULLWIDTH HYPHEN-MINUS]
+"\uFF0D" => "-"
+
+# \u2045 [LEFT SQUARE BRACKET WITH QUILL]
+"\u2045" => "["
+
+# \u2772 [LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT]
+"\u2772" => "["
+
+# \uff3b [FULLWIDTH LEFT SQUARE BRACKET]
+"\uFF3B" => "["
+
+# \u2046 [RIGHT SQUARE BRACKET WITH QUILL]
+"\u2046" => "]"
+
+# \u2773 [LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT]
+"\u2773" => "]"
+
+# \uff3d [FULLWIDTH RIGHT SQUARE BRACKET]
+"\uFF3D" => "]"
+
+# \u207d [SUPERSCRIPT LEFT PARENTHESIS]
+"\u207D" => "("
+
+# \u208d [SUBSCRIPT LEFT PARENTHESIS]
+"\u208D" => "("
+
+# \u2768 [MEDIUM LEFT PARENTHESIS ORNAMENT]
+"\u2768" => "("
+
+# \u276a [MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT]
+"\u276A" => "("
+
+# \uff08 [FULLWIDTH LEFT PARENTHESIS]
+"\uFF08" => "("
+
+# \u2e28 [LEFT DOUBLE PARENTHESIS]
+"\u2E28" => "(("
+
+# \u207e [SUPERSCRIPT RIGHT PARENTHESIS]
+"\u207E" => ")"
+
+# \u208e [SUBSCRIPT RIGHT PARENTHESIS]
+"\u208E" => ")"
+
+# \u2769 [MEDIUM RIGHT PARENTHESIS ORNAMENT]
+"\u2769" => ")"
+
+# \u276b [MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT]
+"\u276B" => ")"
+
+# \uff09 [FULLWIDTH RIGHT PARENTHESIS]
+"\uFF09" => ")"
+
+# \u2e29 [RIGHT DOUBLE PARENTHESIS]
+"\u2E29" => "))"
+
+# \u276c [MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT]
+"\u276C" => "<"
+
+# \u2770 [HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT]
+"\u2770" => "<"
+
+# \uff1c [FULLWIDTH LESS-THAN SIGN]
+"\uFF1C" => "<"
+
+# \u276d [MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT]
+"\u276D" => ">"
+
+# \u2771 [HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT]
+"\u2771" => ">"
+
+# \uff1e [FULLWIDTH GREATER-THAN SIGN]
+"\uFF1E" => ">"
+
+# \u2774 [MEDIUM LEFT CURLY BRACKET ORNAMENT]
+"\u2774" => "{"
+
+# \uff5b [FULLWIDTH LEFT CURLY BRACKET]
+"\uFF5B" => "{"
+
+# \u2775 [MEDIUM RIGHT CURLY BRACKET ORNAMENT]
+"\u2775" => "}"
+
+# \uff5d [FULLWIDTH RIGHT CURLY BRACKET]
+"\uFF5D" => "}"
+
+# \u207a [SUPERSCRIPT PLUS SIGN]
+"\u207A" => "+"
+
+# \u208a [SUBSCRIPT PLUS SIGN]
+"\u208A" => "+"
+
+# \uff0b [FULLWIDTH PLUS SIGN]
+"\uFF0B" => "+"
+
+# \u207c [SUPERSCRIPT EQUALS SIGN]
+"\u207C" => "="
+
+# \u208c [SUBSCRIPT EQUALS SIGN]
+"\u208C" => "="
+
+# \uff1d [FULLWIDTH EQUALS SIGN]
+"\uFF1D" => "="
+
+# \uff01 [FULLWIDTH EXCLAMATION MARK]
+"\uFF01" => "!"
+
+# \u203c [DOUBLE EXCLAMATION MARK]
+"\u203C" => "!!"
+
+# \u2049 [EXCLAMATION QUESTION MARK]
+"\u2049" => "!?"
+
+# \uff03 [FULLWIDTH NUMBER SIGN]
+"\uFF03" => "#"
+
+# \uff04 [FULLWIDTH DOLLAR SIGN]
+"\uFF04" => "$"
+
+# \u2052 [COMMERCIAL MINUS SIGN]
+"\u2052" => "%"
+
+# \uff05 [FULLWIDTH PERCENT SIGN]
+"\uFF05" => "%"
+
+# \uff06 [FULLWIDTH AMPERSAND]
+"\uFF06" => "&"
+
+# \u204e [LOW ASTERISK]
+"\u204E" => "*"
+
+# \uff0a [FULLWIDTH ASTERISK]
+"\uFF0A" => "*"
+
+# \uff0c [FULLWIDTH COMMA]
+"\uFF0C" => ","
+
+# \uff0e [FULLWIDTH FULL STOP]
+"\uFF0E" => "."
+
+# \u2044 [FRACTION SLASH]
+"\u2044" => "/"
+
+# \uff0f [FULLWIDTH SOLIDUS]
+"\uFF0F" => "/"
+
+# \uff1a [FULLWIDTH COLON]
+"\uFF1A" => ":"
+
+# \u204f [REVERSED SEMICOLON]
+"\u204F" => ";"
+
+# \uff1b [FULLWIDTH SEMICOLON]
+"\uFF1B" => ";"
+
+# \uff1f [FULLWIDTH QUESTION MARK]
+"\uFF1F" => "?"
+
+# \u2047 [DOUBLE QUESTION MARK]
+"\u2047" => "??"
+
+# \u2048 [QUESTION EXCLAMATION MARK]
+"\u2048" => "?!"
+
+# \uff20 [FULLWIDTH COMMERCIAL AT]
+"\uFF20" => "@"
+
+# \uff3c [FULLWIDTH REVERSE SOLIDUS]
+"\uFF3C" => "\\"
+
+# \u2038 [CARET]
+"\u2038" => "^"
+
+# \uff3e [FULLWIDTH CIRCUMFLEX ACCENT]
+"\uFF3E" => "^"
+
+# \uff3f [FULLWIDTH LOW LINE]
+"\uFF3F" => "_"
+
+# \u2053 [SWUNG DASH]
+"\u2053" => "~"
+
+# \uff5e [FULLWIDTH TILDE]
+"\uFF5E" => "~"
+
+################################################################
+# Below is the Perl script used to generate the above mappings #
+# from ASCIIFoldingFilter.java: #
+################################################################
+#
+# #!/usr/bin/perl
+#
+# use warnings;
+# use strict;
+#
+# my @source_chars = ();
+# my @source_char_descriptions = ();
+# my $target = '';
+#
+# while (<>) {
+# if (/case\s+'(\\u[A-F0-9]+)':\s*\/\/\s*(.*)/i) {
+# push @source_chars, $1;
+# push @source_char_descriptions, $2;
+# next;
+# }
+# if (/output\[[^\]]+\]\s*=\s*'(\\'|\\\\|.)'/) {
+# $target .= $1;
+# next;
+# }
+# if (/break;/) {
+# $target = "\\\"" if ($target eq '"');
+# for my $source_char_num (0..$#source_chars) {
+# print "# $source_char_descriptions[$source_char_num]\n";
+# print "\"$source_chars[$source_char_num]\" => \"$target\"\n\n";
+# }
+# @source_chars = ();
+# @source_char_descriptions = ();
+# $target = '';
+# }
+# }
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ac2c9ba5/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java
----------------------------------------------------------------------
diff --git a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java
index 132c583..75c0a3b 100644
--- a/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java
+++ b/persistence-spi/src/main/java/org/apache/unomi/persistence/spi/PersistenceService.java
@@ -68,6 +68,17 @@ public interface PersistenceService {
boolean save(Item item);
/**
+ * Persists the specified Item in the context server.
+ *
+ * @param item the item to persist
+ * @param useBatching whether to use batching or not for saving the item. If activating there may be a delay between
+ * the call to this method and the actual saving in the persistence backend.
+ *
+ * @return {@code true} if the item was properly persisted, {@code false} otherwise
+ */
+ boolean save(Item item, boolean useBatching);
+
+ /**
* Updates the item of the specified class and identified by the specified identifier with new property values provided as name - value pairs in the specified Map.
*
* @param itemId the identifier of the item we want to update