summaryrefslogtreecommitdiffstats
path: root/third_party/rust/regex-syntax/src/unicode_tables
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/rust/regex-syntax/src/unicode_tables
parentInitial commit. (diff)
downloadfirefox-esr-upstream.tar.xz
firefox-esr-upstream.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/regex-syntax/src/unicode_tables')
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/LICENSE-UNICODE57
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/age.rs1791
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/case_folding_simple.rs2888
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/general_category.rs6552
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/grapheme_cluster_break.rs1416
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/mod.rs57
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/perl_decimal.rs77
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/perl_space.rs23
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/perl_word.rs781
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/property_bool.rs11367
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/property_names.rs264
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/property_values.rs924
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/script.rs1263
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/script_extension.rs1457
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/sentence_break.rs2477
-rw-r--r--third_party/rust/regex-syntax/src/unicode_tables/word_break.rs1120
16 files changed, 32514 insertions, 0 deletions
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/LICENSE-UNICODE b/third_party/rust/regex-syntax/src/unicode_tables/LICENSE-UNICODE
new file mode 100644
index 0000000000..b82826bdbd
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/LICENSE-UNICODE
@@ -0,0 +1,57 @@
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories
+http://www.unicode.org/Public/, http://www.unicode.org/reports/,
+http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and
+http://www.unicode.org/utility/trac/browser/.
+
+Unicode Data Files do not include PDF online code charts under the
+directory http://www.unicode.org/Public/.
+
+Software includes any source code published in the Unicode Standard
+or under the directories
+http://www.unicode.org/Public/, http://www.unicode.org/reports/,
+http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and
+http://www.unicode.org/utility/trac/browser/.
+
+NOTICE TO USER: Carefully read the following legal agreement.
+BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
+DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
+YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
+TERMS AND CONDITIONS OF THIS AGREEMENT.
+IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
+THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2018 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/age.rs b/third_party/rust/regex-syntax/src/unicode_tables/age.rs
new file mode 100644
index 0000000000..71f4861e07
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/age.rs
@@ -0,0 +1,1791 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate age ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("V10_0", V10_0),
+ ("V11_0", V11_0),
+ ("V12_0", V12_0),
+ ("V12_1", V12_1),
+ ("V13_0", V13_0),
+ ("V14_0", V14_0),
+ ("V15_0", V15_0),
+ ("V1_1", V1_1),
+ ("V2_0", V2_0),
+ ("V2_1", V2_1),
+ ("V3_0", V3_0),
+ ("V3_1", V3_1),
+ ("V3_2", V3_2),
+ ("V4_0", V4_0),
+ ("V4_1", V4_1),
+ ("V5_0", V5_0),
+ ("V5_1", V5_1),
+ ("V5_2", V5_2),
+ ("V6_0", V6_0),
+ ("V6_1", V6_1),
+ ("V6_2", V6_2),
+ ("V6_3", V6_3),
+ ("V7_0", V7_0),
+ ("V8_0", V8_0),
+ ("V9_0", V9_0),
+];
+
+pub const V10_0: &'static [(char, char)] = &[
+ ('ࡠ', 'ࡪ'),
+ ('ৼ', '৽'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{d00}', '\u{d00}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('᳷', '᳷'),
+ ('\u{1df6}', '\u{1df9}'),
+ ('₿', '₿'),
+ ('⏿', '⏿'),
+ ('⯒', '⯒'),
+ ('⹅', '⹉'),
+ ('ㄮ', 'ㄮ'),
+ ('鿖', '鿪'),
+ ('𐌭', '𐌯'),
+ ('𑨀', '\u{11a47}'),
+ ('𑩐', '𑪃'),
+ ('𑪆', '𑪜'),
+ ('𑪞', '𑪢'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d47}'),
+ ('𑵐', '𑵙'),
+ ('𖿡', '𖿡'),
+ ('𛀂', '𛄞'),
+ ('𛅰', '𛋻'),
+ ('🉠', '🉥'),
+ ('🛓', '🛔'),
+ ('🛷', '🛸'),
+ ('🤀', '🤋'),
+ ('🤟', '🤟'),
+ ('🤨', '🤯'),
+ ('🤱', '🤲'),
+ ('🥌', '🥌'),
+ ('🥟', '🥫'),
+ ('🦒', '🦗'),
+ ('🧐', '🧦'),
+ ('𬺰', '𮯠'),
+];
+
+pub const V11_0: &'static [(char, char)] = &[
+ ('ՠ', 'ՠ'),
+ ('ֈ', 'ֈ'),
+ ('ׯ', 'ׯ'),
+ ('\u{7fd}', '߿'),
+ ('\u{8d3}', '\u{8d3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('੶', '੶'),
+ ('\u{c04}', '\u{c04}'),
+ ('಄', '಄'),
+ ('ᡸ', 'ᡸ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('⮺', '⮼'),
+ ('⯓', '⯫'),
+ ('⯰', '⯾'),
+ ('⹊', '⹎'),
+ ('ㄯ', 'ㄯ'),
+ ('鿫', '鿯'),
+ ('ꞯ', 'ꞯ'),
+ ('Ꞹ', 'ꞹ'),
+ ('ꣾ', '\u{a8ff}'),
+ ('𐨴', '𐨵'),
+ ('𐩈', '𐩈'),
+ ('𐴀', '\u{10d27}'),
+ ('𐴰', '𐴹'),
+ ('𐼀', '𐼧'),
+ ('𐼰', '𐽙'),
+ ('\u{110cd}', '\u{110cd}'),
+ ('𑅄', '𑅆'),
+ ('\u{1133b}', '\u{1133b}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('𑜚', '𑜚'),
+ ('𑠀', '𑠻'),
+ ('𑪝', '𑪝'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶘'),
+ ('𑶠', '𑶩'),
+ ('𑻠', '𑻸'),
+ ('𖹀', '𖺚'),
+ ('𘟭', '𘟱'),
+ ('𝋠', '𝋳'),
+ ('𝍲', '𝍸'),
+ ('𞱱', '𞲴'),
+ ('🄯', '🄯'),
+ ('🛹', '🛹'),
+ ('🟕', '🟘'),
+ ('🥍', '🥏'),
+ ('🥬', '🥰'),
+ ('🥳', '🥶'),
+ ('🥺', '🥺'),
+ ('🥼', '🥿'),
+ ('🦘', '🦢'),
+ ('🦰', '🦹'),
+ ('🧁', '🧂'),
+ ('🧧', '🧿'),
+ ('🩠', '🩭'),
+];
+
+pub const V12_0: &'static [(char, char)] = &[
+ ('౷', '౷'),
+ ('ຆ', 'ຆ'),
+ ('ຉ', 'ຉ'),
+ ('ຌ', 'ຌ'),
+ ('ຎ', 'ຓ'),
+ ('ຘ', 'ຘ'),
+ ('ຠ', 'ຠ'),
+ ('ຨ', 'ຩ'),
+ ('ຬ', 'ຬ'),
+ ('\u{eba}', '\u{eba}'),
+ ('ᳺ', 'ᳺ'),
+ ('⯉', '⯉'),
+ ('⯿', '⯿'),
+ ('⹏', '⹏'),
+ ('Ꞻ', 'ꞿ'),
+ ('Ꟃ', 'Ᶎ'),
+ ('ꭦ', 'ꭧ'),
+ ('𐿠', '𐿶'),
+ ('𑑟', '𑑟'),
+ ('𑚸', '𑚸'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '\u{119d7}'),
+ ('\u{119da}', '𑧤'),
+ ('𑪄', '𑪅'),
+ ('𑿀', '𑿱'),
+ ('𑿿', '𑿿'),
+ ('\u{13430}', '\u{13438}'),
+ ('𖽅', '𖽊'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('𖽿', '𖾇'),
+ ('𖿢', '𖿣'),
+ ('𘟲', '𘟷'),
+ ('𛅐', '𛅒'),
+ ('𛅤', '𛅧'),
+ ('𞄀', '𞄬'),
+ ('\u{1e130}', '𞄽'),
+ ('𞅀', '𞅉'),
+ ('𞅎', '𞅏'),
+ ('𞋀', '𞋹'),
+ ('𞋿', '𞋿'),
+ ('𞥋', '𞥋'),
+ ('𞴁', '𞴽'),
+ ('🅬', '🅬'),
+ ('🛕', '🛕'),
+ ('🛺', '🛺'),
+ ('🟠', '🟫'),
+ ('🤍', '🤏'),
+ ('🤿', '🤿'),
+ ('🥱', '🥱'),
+ ('🥻', '🥻'),
+ ('🦥', '🦪'),
+ ('🦮', '🦯'),
+ ('🦺', '🦿'),
+ ('🧃', '🧊'),
+ ('🧍', '🧏'),
+ ('🨀', '🩓'),
+ ('🩰', '🩳'),
+ ('🩸', '🩺'),
+ ('🪀', '🪂'),
+ ('🪐', '🪕'),
+];
+
+pub const V12_1: &'static [(char, char)] = &[('㋿', '㋿')];
+
+pub const V13_0: &'static [(char, char)] = &[
+ ('ࢾ', 'ࣇ'),
+ ('\u{b55}', '\u{b55}'),
+ ('ഄ', 'ഄ'),
+ ('\u{d81}', '\u{d81}'),
+ ('\u{1abf}', '\u{1ac0}'),
+ ('⮗', '⮗'),
+ ('⹐', '⹒'),
+ ('ㆻ', 'ㆿ'),
+ ('䶶', '䶿'),
+ ('鿰', '鿼'),
+ ('Ꟈ', 'ꟊ'),
+ ('Ꟶ', 'ꟶ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꭨ', '꭫'),
+ ('𐆜', '𐆜'),
+ ('𐺀', '𐺩'),
+ ('\u{10eab}', '𐺭'),
+ ('𐺰', '𐺱'),
+ ('𐾰', '𐿋'),
+ ('𑅇', '𑅇'),
+ ('𑇎', '\u{111cf}'),
+ ('𑑚', '𑑚'),
+ ('𑑠', '𑑡'),
+ ('𑤀', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '𑥆'),
+ ('𑥐', '𑥙'),
+ ('𑾰', '𑾰'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('𘫳', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('🄍', '🄏'),
+ ('🅭', '🅯'),
+ ('🆭', '🆭'),
+ ('🛖', '🛗'),
+ ('🛻', '🛼'),
+ ('🢰', '🢱'),
+ ('🤌', '🤌'),
+ ('🥲', '🥲'),
+ ('🥷', '🥸'),
+ ('🦣', '🦤'),
+ ('🦫', '🦭'),
+ ('🧋', '🧋'),
+ ('🩴', '🩴'),
+ ('🪃', '🪆'),
+ ('🪖', '🪨'),
+ ('🪰', '🪶'),
+ ('🫀', '🫂'),
+ ('🫐', '🫖'),
+ ('🬀', '🮒'),
+ ('🮔', '🯊'),
+ ('🯰', '🯹'),
+ ('𪛗', '𪛝'),
+ ('𰀀', '𱍊'),
+];
+
+pub const V14_0: &'static [(char, char)] = &[
+ ('؝', '؝'),
+ ('ࡰ', 'ࢎ'),
+ ('\u{890}', '\u{891}'),
+ ('\u{898}', '\u{89f}'),
+ ('ࢵ', 'ࢵ'),
+ ('ࣈ', '\u{8d2}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('ౝ', 'ౝ'),
+ ('ೝ', 'ೝ'),
+ ('ᜍ', 'ᜍ'),
+ ('᜕', '᜕'),
+ ('ᜟ', 'ᜟ'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1ac1}', '\u{1ace}'),
+ ('ᭌ', 'ᭌ'),
+ ('᭽', '᭾'),
+ ('\u{1dfa}', '\u{1dfa}'),
+ ('⃀', '⃀'),
+ ('Ⱟ', 'Ⱟ'),
+ ('ⱟ', 'ⱟ'),
+ ('⹓', '⹝'),
+ ('鿽', '鿿'),
+ ('Ꟁ', 'ꟁ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꟴ'),
+ ('﯂', '﯂'),
+ ('﵀', '﵏'),
+ ('﷏', '﷏'),
+ ('﷾', '﷿'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐽰', '𐾉'),
+ ('\u{11070}', '𑁵'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('𑚹', '𑚹'),
+ ('𑝀', '𑝆'),
+ ('𑪰', '𑪿'),
+ ('𒾐', '𒿲'),
+ ('𖩰', '𖪾'),
+ ('𖫀', '𖫉'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛄟', '𛄢'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('𜽐', '𜿃'),
+ ('𝇩', '𝇪'),
+ ('𝼀', '𝼞'),
+ ('𞊐', '\u{1e2ae}'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('🛝', '🛟'),
+ ('🟰', '🟰'),
+ ('🥹', '🥹'),
+ ('🧌', '🧌'),
+ ('🩻', '🩼'),
+ ('🪩', '🪬'),
+ ('🪷', '🪺'),
+ ('🫃', '🫅'),
+ ('🫗', '🫙'),
+ ('🫠', '🫧'),
+ ('🫰', '🫶'),
+ ('𪛞', '𪛟'),
+ ('𫜵', '𫜸'),
+];
+
+pub const V15_0: &'static [(char, char)] = &[
+ ('ೳ', 'ೳ'),
+ ('\u{ece}', '\u{ece}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('𑈿', '\u{11241}'),
+ ('𑬀', '𑬉'),
+ ('\u{11f00}', '𑼐'),
+ ('𑼒', '\u{11f3a}'),
+ ('𑼾', '𑽙'),
+ ('𓐯', '𓐯'),
+ ('\u{13439}', '\u{13455}'),
+ ('𛄲', '𛄲'),
+ ('𛅕', '𛅕'),
+ ('𝋀', '𝋓'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('𞓐', '𞓹'),
+ ('🛜', '🛜'),
+ ('🝴', '🝶'),
+ ('🝻', '🝿'),
+ ('🟙', '🟙'),
+ ('🩵', '🩷'),
+ ('🪇', '🪈'),
+ ('🪭', '🪯'),
+ ('🪻', '🪽'),
+ ('🪿', '🪿'),
+ ('🫎', '🫏'),
+ ('🫚', '🫛'),
+ ('🫨', '🫨'),
+ ('🫷', '🫸'),
+ ('𫜹', '𫜹'),
+ ('𱍐', '𲎯'),
+];
+
+pub const V1_1: &'static [(char, char)] = &[
+ ('\0', 'ǵ'),
+ ('Ǻ', 'ȗ'),
+ ('ɐ', 'ʨ'),
+ ('ʰ', '˞'),
+ ('ˠ', '˩'),
+ ('\u{300}', '\u{345}'),
+ ('\u{360}', '\u{361}'),
+ ('ʹ', '͵'),
+ ('ͺ', 'ͺ'),
+ (';', ';'),
+ ('΄', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ώ'),
+ ('ϐ', 'ϖ'),
+ ('Ϛ', 'Ϛ'),
+ ('Ϝ', 'Ϝ'),
+ ('Ϟ', 'Ϟ'),
+ ('Ϡ', 'Ϡ'),
+ ('Ϣ', 'ϳ'),
+ ('Ё', 'Ќ'),
+ ('Ў', 'я'),
+ ('ё', 'ќ'),
+ ('ў', '\u{486}'),
+ ('Ґ', 'ӄ'),
+ ('Ӈ', 'ӈ'),
+ ('Ӌ', 'ӌ'),
+ ('Ӑ', 'ӫ'),
+ ('Ӯ', 'ӵ'),
+ ('Ӹ', 'ӹ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', '՟'),
+ ('ա', 'և'),
+ ('։', '։'),
+ ('\u{5b0}', '\u{5b9}'),
+ ('\u{5bb}', '׃'),
+ ('א', 'ת'),
+ ('װ', '״'),
+ ('،', '،'),
+ ('؛', '؛'),
+ ('؟', '؟'),
+ ('ء', 'غ'),
+ ('ـ', '\u{652}'),
+ ('٠', '٭'),
+ ('\u{670}', 'ڷ'),
+ ('ں', 'ھ'),
+ ('ۀ', 'ێ'),
+ ('ې', '\u{6ed}'),
+ ('۰', '۹'),
+ ('\u{901}', 'ः'),
+ ('अ', 'ह'),
+ ('\u{93c}', '\u{94d}'),
+ ('ॐ', '\u{954}'),
+ ('क़', '॰'),
+ ('\u{981}', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9be}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', '\u{9cd}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('০', '৺'),
+ ('\u{a02}', '\u{a02}'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', 'ੴ'),
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઋ'),
+ ('ઍ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('\u{abc}', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૠ'),
+ ('૦', '૯'),
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଶ', 'ହ'),
+ ('\u{b3c}', '\u{b43}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b56}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('୦', '୰'),
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'வ'),
+ ('ஷ', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('௧', '௲'),
+ ('ఁ', 'ః'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'ళ'),
+ ('వ', 'హ'),
+ ('\u{c3e}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౠ', 'ౡ'),
+ ('౦', '౯'),
+ ('ಂ', 'ಃ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಾ', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೞ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('೦', '೯'),
+ ('ം', 'ഃ'),
+ ('അ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ന'),
+ ('പ', 'ഹ'),
+ ('\u{d3e}', '\u{d43}'),
+ ('െ', 'ൈ'),
+ ('ൊ', '\u{d4d}'),
+ ('\u{d57}', '\u{d57}'),
+ ('ൠ', 'ൡ'),
+ ('൦', '൯'),
+ ('ก', '\u{e3a}'),
+ ('฿', '๛'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ງ', 'ຈ'),
+ ('ຊ', 'ຊ'),
+ ('ຍ', 'ຍ'),
+ ('ດ', 'ທ'),
+ ('ນ', 'ຟ'),
+ ('ມ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ວ'),
+ ('ສ', 'ຫ'),
+ ('ອ', '\u{eb9}'),
+ ('\u{ebb}', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ecd}'),
+ ('໐', '໙'),
+ ('ໜ', 'ໝ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('ა', 'ჶ'),
+ ('჻', '჻'),
+ ('ᄀ', 'ᅙ'),
+ ('ᅟ', 'ᆢ'),
+ ('ᆨ', 'ᇹ'),
+ ('Ḁ', 'ẚ'),
+ ('Ạ', 'ỹ'),
+ ('ἀ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ῄ'),
+ ('ῆ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('῝', '`'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', '῾'),
+ ('\u{2000}', '\u{202e}'),
+ ('‰', '⁆'),
+ ('\u{206a}', '⁰'),
+ ('⁴', '₎'),
+ ('₠', '₪'),
+ ('\u{20d0}', '\u{20e1}'),
+ ('℀', 'ℸ'),
+ ('⅓', 'ↂ'),
+ ('←', '⇪'),
+ ('∀', '⋱'),
+ ('⌀', '⌀'),
+ ('⌂', '⍺'),
+ ('␀', '␤'),
+ ('⑀', '⑊'),
+ ('①', '⓪'),
+ ('─', '▕'),
+ ('■', '◯'),
+ ('☀', '☓'),
+ ('☚', '♯'),
+ ('✁', '✄'),
+ ('✆', '✉'),
+ ('✌', '✧'),
+ ('✩', '❋'),
+ ('❍', '❍'),
+ ('❏', '❒'),
+ ('❖', '❖'),
+ ('❘', '❞'),
+ ('❡', '❧'),
+ ('❶', '➔'),
+ ('➘', '➯'),
+ ('➱', '➾'),
+ ('\u{3000}', '〷'),
+ ('〿', '〿'),
+ ('ぁ', 'ゔ'),
+ ('\u{3099}', 'ゞ'),
+ ('ァ', 'ヾ'),
+ ('ㄅ', 'ㄬ'),
+ ('ㄱ', 'ㆎ'),
+ ('㆐', '㆟'),
+ ('㈀', '㈜'),
+ ('㈠', '㉃'),
+ ('㉠', '㉻'),
+ ('㉿', '㊰'),
+ ('㋀', '㋋'),
+ ('㋐', '㋾'),
+ ('㌀', '㍶'),
+ ('㍻', '㏝'),
+ ('㏠', '㏾'),
+ ('一', '龥'),
+ ('\u{e000}', '鶴'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('\u{fb1e}', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', '﴿'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('\u{fe20}', '\u{fe23}'),
+ ('︰', '﹄'),
+ ('﹉', '﹒'),
+ ('﹔', '﹦'),
+ ('﹨', '﹫'),
+ ('ﹰ', 'ﹲ'),
+ ('ﹴ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('\u{feff}', '\u{feff}'),
+ ('!', '~'),
+ ('。', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('¢', '₩'),
+ ('│', '○'),
+ ('�', '\u{ffff}'),
+];
+
+pub const V2_0: &'static [(char, char)] = &[
+ ('\u{591}', '\u{5a1}'),
+ ('\u{5a3}', '\u{5af}'),
+ ('\u{5c4}', '\u{5c4}'),
+ ('ༀ', 'ཇ'),
+ ('ཉ', 'ཀྵ'),
+ ('\u{f71}', 'ྋ'),
+ ('\u{f90}', '\u{f95}'),
+ ('\u{f97}', '\u{f97}'),
+ ('\u{f99}', '\u{fad}'),
+ ('\u{fb1}', '\u{fb7}'),
+ ('\u{fb9}', '\u{fb9}'),
+ ('ẛ', 'ẛ'),
+ ('₫', '₫'),
+ ('가', '힣'),
+ ('\u{1fffe}', '\u{1ffff}'),
+ ('\u{2fffe}', '\u{2ffff}'),
+ ('\u{3fffe}', '\u{3ffff}'),
+ ('\u{4fffe}', '\u{4ffff}'),
+ ('\u{5fffe}', '\u{5ffff}'),
+ ('\u{6fffe}', '\u{6ffff}'),
+ ('\u{7fffe}', '\u{7ffff}'),
+ ('\u{8fffe}', '\u{8ffff}'),
+ ('\u{9fffe}', '\u{9ffff}'),
+ ('\u{afffe}', '\u{affff}'),
+ ('\u{bfffe}', '\u{bffff}'),
+ ('\u{cfffe}', '\u{cffff}'),
+ ('\u{dfffe}', '\u{dffff}'),
+ ('\u{efffe}', '\u{10ffff}'),
+];
+
+pub const V2_1: &'static [(char, char)] = &[('€', '€'), ('', '')];
+
+pub const V3_0: &'static [(char, char)] = &[
+ ('Ƕ', 'ǹ'),
+ ('Ș', 'ȟ'),
+ ('Ȣ', 'ȳ'),
+ ('ʩ', 'ʭ'),
+ ('˟', '˟'),
+ ('˪', 'ˮ'),
+ ('\u{346}', '\u{34e}'),
+ ('\u{362}', '\u{362}'),
+ ('ϗ', 'ϗ'),
+ ('ϛ', 'ϛ'),
+ ('ϝ', 'ϝ'),
+ ('ϟ', 'ϟ'),
+ ('ϡ', 'ϡ'),
+ ('Ѐ', 'Ѐ'),
+ ('Ѝ', 'Ѝ'),
+ ('ѐ', 'ѐ'),
+ ('ѝ', 'ѝ'),
+ ('\u{488}', '\u{489}'),
+ ('Ҍ', 'ҏ'),
+ ('Ӭ', 'ӭ'),
+ ('֊', '֊'),
+ ('\u{653}', '\u{655}'),
+ ('ڸ', 'ڹ'),
+ ('ڿ', 'ڿ'),
+ ('ۏ', 'ۏ'),
+ ('ۺ', '۾'),
+ ('܀', '܍'),
+ ('\u{70f}', 'ܬ'),
+ ('\u{730}', '\u{74a}'),
+ ('ހ', '\u{7b0}'),
+ ('ං', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', '෴'),
+ ('ཪ', 'ཪ'),
+ ('\u{f96}', '\u{f96}'),
+ ('\u{fae}', '\u{fb0}'),
+ ('\u{fb8}', '\u{fb8}'),
+ ('\u{fba}', '\u{fbc}'),
+ ('྾', '࿌'),
+ ('࿏', '࿏'),
+ ('က', 'အ'),
+ ('ဣ', 'ဧ'),
+ ('ဩ', 'ဪ'),
+ ('ာ', '\u{1032}'),
+ ('\u{1036}', '\u{1039}'),
+ ('၀', '\u{1059}'),
+ ('ሀ', 'ሆ'),
+ ('ለ', 'ቆ'),
+ ('ቈ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኆ'),
+ ('ኈ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኮ'),
+ ('ኰ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዎ'),
+ ('ዐ', 'ዖ'),
+ ('ዘ', 'ዮ'),
+ ('ደ', 'ጎ'),
+ ('ጐ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ጞ'),
+ ('ጠ', 'ፆ'),
+ ('ፈ', 'ፚ'),
+ ('፡', '፼'),
+ ('Ꭰ', 'Ᏼ'),
+ ('ᐁ', 'ᙶ'),
+ ('\u{1680}', '᚜'),
+ ('ᚠ', 'ᛰ'),
+ ('ក', 'ៜ'),
+ ('០', '៩'),
+ ('᠀', '\u{180e}'),
+ ('᠐', '᠙'),
+ ('ᠠ', 'ᡷ'),
+ ('ᢀ', '\u{18a9}'),
+ ('\u{202f}', '\u{202f}'),
+ ('⁈', '⁍'),
+ ('₭', '₯'),
+ ('\u{20e2}', '\u{20e3}'),
+ ('ℹ', '℺'),
+ ('Ↄ', 'Ↄ'),
+ ('⇫', '⇳'),
+ ('⌁', '⌁'),
+ ('⍻', '⍻'),
+ ('⍽', '⎚'),
+ ('␥', '␦'),
+ ('◰', '◷'),
+ ('☙', '☙'),
+ ('♰', '♱'),
+ ('⠀', '⣿'),
+ ('⺀', '⺙'),
+ ('⺛', '⻳'),
+ ('⼀', '⿕'),
+ ('⿰', '⿻'),
+ ('〸', '〺'),
+ ('〾', '〾'),
+ ('ㆠ', 'ㆷ'),
+ ('㐀', '䶵'),
+ ('ꀀ', 'ꒌ'),
+ ('꒐', '꒡'),
+ ('꒤', '꒳'),
+ ('꒵', '꓀'),
+ ('꓂', '꓄'),
+ ('꓆', '꓆'),
+ ('יִ', 'יִ'),
+ ('\u{fff9}', '\u{fffb}'),
+];
+
+pub const V3_1: &'static [(char, char)] = &[
+ ('ϴ', 'ϵ'),
+ ('\u{fdd0}', '\u{fdef}'),
+ ('𐌀', '𐌞'),
+ ('𐌠', '𐌣'),
+ ('𐌰', '𐍊'),
+ ('𐐀', '𐐥'),
+ ('𐐨', '𐑍'),
+ ('𝀀', '𝃵'),
+ ('𝄀', '𝄦'),
+ ('𝄪', '𝇝'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓀'),
+ ('𝓂', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚣'),
+ ('𝚨', '𝟉'),
+ ('𝟎', '𝟿'),
+ ('𠀀', '𪛖'),
+ ('丽', '𪘀'),
+ ('\u{e0001}', '\u{e0001}'),
+ ('\u{e0020}', '\u{e007f}'),
+];
+
+pub const V3_2: &'static [(char, char)] = &[
+ ('Ƞ', 'Ƞ'),
+ ('\u{34f}', '\u{34f}'),
+ ('\u{363}', '\u{36f}'),
+ ('Ϙ', 'ϙ'),
+ ('϶', '϶'),
+ ('Ҋ', 'ҋ'),
+ ('Ӆ', 'ӆ'),
+ ('Ӊ', 'ӊ'),
+ ('Ӎ', 'ӎ'),
+ ('Ԁ', 'ԏ'),
+ ('ٮ', 'ٯ'),
+ ('ޱ', 'ޱ'),
+ ('ჷ', 'ჸ'),
+ ('ᜀ', 'ᜌ'),
+ ('ᜎ', '\u{1714}'),
+ ('ᜠ', '᜶'),
+ ('ᝀ', '\u{1753}'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('\u{1772}', '\u{1773}'),
+ ('⁇', '⁇'),
+ ('⁎', '⁒'),
+ ('⁗', '⁗'),
+ ('\u{205f}', '\u{2063}'),
+ ('ⁱ', 'ⁱ'),
+ ('₰', '₱'),
+ ('\u{20e4}', '\u{20ea}'),
+ ('ℽ', '⅋'),
+ ('⇴', '⇿'),
+ ('⋲', '⋿'),
+ ('⍼', '⍼'),
+ ('⎛', '⏎'),
+ ('⓫', '⓾'),
+ ('▖', '▟'),
+ ('◸', '◿'),
+ ('☖', '☗'),
+ ('♲', '♽'),
+ ('⚀', '⚉'),
+ ('❨', '❵'),
+ ('⟐', '⟫'),
+ ('⟰', '⟿'),
+ ('⤀', '⫿'),
+ ('〻', '〽'),
+ ('ゕ', 'ゖ'),
+ ('ゟ', '゠'),
+ ('ヿ', 'ヿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㉑', '㉟'),
+ ('㊱', '㊿'),
+ ('꒢', '꒣'),
+ ('꒴', '꒴'),
+ ('꓁', '꓁'),
+ ('꓅', '꓅'),
+ ('侮', '頻'),
+ ('﷼', '﷼'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('﹅', '﹆'),
+ ('ﹳ', 'ﹳ'),
+ ('⦅', '⦆'),
+];
+
+pub const V4_0: &'static [(char, char)] = &[
+ ('ȡ', 'ȡ'),
+ ('ȴ', 'ȶ'),
+ ('ʮ', 'ʯ'),
+ ('˯', '˿'),
+ ('\u{350}', '\u{357}'),
+ ('\u{35d}', '\u{35f}'),
+ ('Ϸ', 'ϻ'),
+ ('\u{600}', '\u{603}'),
+ ('؍', '\u{615}'),
+ ('\u{656}', '\u{658}'),
+ ('ۮ', 'ۯ'),
+ ('ۿ', 'ۿ'),
+ ('ܭ', 'ܯ'),
+ ('ݍ', 'ݏ'),
+ ('ऄ', 'ऄ'),
+ ('ঽ', 'ঽ'),
+ ('\u{a01}', '\u{a01}'),
+ ('ਃ', 'ਃ'),
+ ('ઌ', 'ઌ'),
+ ('ૡ', '\u{ae3}'),
+ ('૱', '૱'),
+ ('ଵ', 'ଵ'),
+ ('ୱ', 'ୱ'),
+ ('௳', '௺'),
+ ('\u{cbc}', 'ಽ'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('៰', '៹'),
+ ('ᤀ', 'ᤜ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('᥀', '᥀'),
+ ('᥄', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('᧠', '᧿'),
+ ('ᴀ', 'ᵫ'),
+ ('⁓', '⁔'),
+ ('℻', '℻'),
+ ('⏏', '⏐'),
+ ('⓿', '⓿'),
+ ('☔', '☕'),
+ ('⚊', '⚑'),
+ ('⚠', '⚡'),
+ ('⬀', '⬍'),
+ ('㈝', '㈞'),
+ ('㉐', '㉐'),
+ ('㉼', '㉽'),
+ ('㋌', '㋏'),
+ ('㍷', '㍺'),
+ ('㏞', '㏟'),
+ ('㏿', '㏿'),
+ ('䷀', '䷿'),
+ ('﷽', '﷽'),
+ ('﹇', '﹈'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐄀', '𐄂'),
+ ('𐄇', '𐄳'),
+ ('𐄷', '𐄿'),
+ ('𐎀', '𐎝'),
+ ('𐎟', '𐎟'),
+ ('𐐦', '𐐧'),
+ ('𐑎', '𐒝'),
+ ('𐒠', '𐒩'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐠿'),
+ ('𝌀', '𝍖'),
+ ('𝓁', '𝓁'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const V4_1: &'static [(char, char)] = &[
+ ('ȷ', 'Ɂ'),
+ ('\u{358}', '\u{35c}'),
+ ('ϼ', 'Ͽ'),
+ ('Ӷ', 'ӷ'),
+ ('\u{5a2}', '\u{5a2}'),
+ ('\u{5c5}', '\u{5c7}'),
+ ('؋', '؋'),
+ ('؞', '؞'),
+ ('\u{659}', '\u{65e}'),
+ ('ݐ', 'ݭ'),
+ ('ॽ', 'ॽ'),
+ ('ৎ', 'ৎ'),
+ ('ஶ', 'ஶ'),
+ ('௦', '௦'),
+ ('࿐', '࿑'),
+ ('ჹ', 'ჺ'),
+ ('ჼ', 'ჼ'),
+ ('ሇ', 'ሇ'),
+ ('ቇ', 'ቇ'),
+ ('ኇ', 'ኇ'),
+ ('ኯ', 'ኯ'),
+ ('ዏ', 'ዏ'),
+ ('ዯ', 'ዯ'),
+ ('ጏ', 'ጏ'),
+ ('ጟ', 'ጟ'),
+ ('ፇ', 'ፇ'),
+ ('\u{135f}', '፠'),
+ ('ᎀ', '᎙'),
+ ('ᦀ', 'ᦩ'),
+ ('ᦰ', 'ᧉ'),
+ ('᧐', '᧙'),
+ ('᧞', '᧟'),
+ ('ᨀ', '\u{1a1b}'),
+ ('᨞', '᨟'),
+ ('ᵬ', '\u{1dc3}'),
+ ('⁕', '⁖'),
+ ('⁘', '⁞'),
+ ('ₐ', 'ₔ'),
+ ('₲', '₵'),
+ ('\u{20eb}', '\u{20eb}'),
+ ('ℼ', 'ℼ'),
+ ('⅌', '⅌'),
+ ('⏑', '⏛'),
+ ('☘', '☘'),
+ ('♾', '♿'),
+ ('⚒', '⚜'),
+ ('⚢', '⚱'),
+ ('⟀', '⟆'),
+ ('⬎', '⬓'),
+ ('Ⰰ', 'Ⱞ'),
+ ('ⰰ', 'ⱞ'),
+ ('Ⲁ', '⳪'),
+ ('⳹', 'ⴥ'),
+ ('ⴰ', 'ⵥ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('⸀', '⸗'),
+ ('⸜', '⸝'),
+ ('㇀', '㇏'),
+ ('㉾', '㉾'),
+ ('龦', '龻'),
+ ('꜀', '꜖'),
+ ('ꠀ', '꠫'),
+ ('並', '龎'),
+ ('︐', '︙'),
+ ('𐅀', '𐆊'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏕'),
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨳'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '𐩇'),
+ ('𐩐', '𐩘'),
+ ('𝈀', '𝉅'),
+ ('𝚤', '𝚥'),
+];
+
+pub const V5_0: &'static [(char, char)] = &[
+ ('ɂ', 'ɏ'),
+ ('ͻ', 'ͽ'),
+ ('ӏ', 'ӏ'),
+ ('Ӻ', 'ӿ'),
+ ('Ԑ', 'ԓ'),
+ ('\u{5ba}', '\u{5ba}'),
+ ('߀', 'ߺ'),
+ ('ॻ', 'ॼ'),
+ ('ॾ', 'ॿ'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('ೱ', 'ೲ'),
+ ('\u{1b00}', 'ᭋ'),
+ ('᭐', '᭼'),
+ ('\u{1dc4}', '\u{1dca}'),
+ ('\u{1dfe}', '\u{1dff}'),
+ ('\u{20ec}', '\u{20ef}'),
+ ('⅍', 'ⅎ'),
+ ('ↄ', 'ↄ'),
+ ('⏜', '⏧'),
+ ('⚲', '⚲'),
+ ('⟇', '⟊'),
+ ('⬔', '⬚'),
+ ('⬠', '⬣'),
+ ('Ⱡ', 'ⱬ'),
+ ('ⱴ', 'ⱷ'),
+ ('ꜗ', 'ꜚ'),
+ ('꜠', '꜡'),
+ ('ꡀ', '꡷'),
+ ('𐤀', '𐤙'),
+ ('𐤟', '𐤟'),
+ ('𒀀', '𒍮'),
+ ('𒐀', '𒑢'),
+ ('𒑰', '𒑳'),
+ ('𝍠', '𝍱'),
+ ('𝟊', '𝟋'),
+];
+
+pub const V5_1: &'static [(char, char)] = &[
+ ('Ͱ', 'ͳ'),
+ ('Ͷ', 'ͷ'),
+ ('Ϗ', 'Ϗ'),
+ ('\u{487}', '\u{487}'),
+ ('Ԕ', 'ԣ'),
+ ('؆', '؊'),
+ ('\u{616}', '\u{61a}'),
+ ('ػ', 'ؿ'),
+ ('ݮ', 'ݿ'),
+ ('ॱ', 'ॲ'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{b44}', '\u{b44}'),
+ ('\u{b62}', '\u{b63}'),
+ ('ௐ', 'ௐ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౙ'),
+ ('\u{c62}', '\u{c63}'),
+ ('౸', '౿'),
+ ('ഽ', 'ഽ'),
+ ('\u{d44}', '\u{d44}'),
+ ('\u{d62}', '\u{d63}'),
+ ('൰', '൵'),
+ ('൹', 'ൿ'),
+ ('ཫ', 'ཬ'),
+ ('࿎', '࿎'),
+ ('࿒', '࿔'),
+ ('ဢ', 'ဢ'),
+ ('ဨ', 'ဨ'),
+ ('ါ', 'ါ'),
+ ('\u{1033}', '\u{1035}'),
+ ('\u{103a}', 'ဿ'),
+ ('ၚ', '႙'),
+ ('႞', '႟'),
+ ('ᢪ', 'ᢪ'),
+ ('\u{1b80}', '᮪'),
+ ('ᮮ', '᮹'),
+ ('ᰀ', '\u{1c37}'),
+ ('᰻', '᱉'),
+ ('ᱍ', '᱿'),
+ ('\u{1dcb}', '\u{1de6}'),
+ ('ẜ', 'ẟ'),
+ ('Ỻ', 'ỿ'),
+ ('\u{2064}', '\u{2064}'),
+ ('\u{20f0}', '\u{20f0}'),
+ ('⅏', '⅏'),
+ ('ↅ', 'ↈ'),
+ ('⚝', '⚝'),
+ ('⚳', '⚼'),
+ ('⛀', '⛃'),
+ ('⟌', '⟌'),
+ ('⟬', '⟯'),
+ ('⬛', '⬟'),
+ ('⬤', '⭌'),
+ ('⭐', '⭔'),
+ ('Ɑ', 'Ɐ'),
+ ('ⱱ', 'ⱳ'),
+ ('ⱸ', 'ⱽ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('⸘', '⸛'),
+ ('⸞', '⸰'),
+ ('ㄭ', 'ㄭ'),
+ ('㇐', '㇣'),
+ ('龼', '鿃'),
+ ('ꔀ', 'ꘫ'),
+ ('Ꙁ', 'ꙟ'),
+ ('Ꙣ', '꙳'),
+ ('\u{a67c}', 'ꚗ'),
+ ('ꜛ', 'ꜟ'),
+ ('Ꜣ', 'ꞌ'),
+ ('ꟻ', 'ꟿ'),
+ ('ꢀ', '\u{a8c4}'),
+ ('꣎', '꣙'),
+ ('꤀', '꥓'),
+ ('꥟', '꥟'),
+ ('ꨀ', '\u{aa36}'),
+ ('ꩀ', 'ꩍ'),
+ ('꩐', '꩙'),
+ ('꩜', '꩟'),
+ ('\u{fe24}', '\u{fe26}'),
+ ('𐆐', '𐆛'),
+ ('𐇐', '\u{101fd}'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐤠', '𐤹'),
+ ('𐤿', '𐤿'),
+ ('𝄩', '𝄩'),
+ ('🀀', '🀫'),
+ ('🀰', '🂓'),
+];
+
+pub const V5_2: &'static [(char, char)] = &[
+ ('Ԥ', 'ԥ'),
+ ('ࠀ', '\u{82d}'),
+ ('࠰', '࠾'),
+ ('\u{900}', '\u{900}'),
+ ('ॎ', 'ॎ'),
+ ('\u{955}', '\u{955}'),
+ ('ॹ', 'ॺ'),
+ ('৻', '৻'),
+ ('࿕', '࿘'),
+ ('ႚ', '\u{109d}'),
+ ('ᅚ', 'ᅞ'),
+ ('ᆣ', 'ᆧ'),
+ ('ᇺ', 'ᇿ'),
+ ('᐀', '᐀'),
+ ('ᙷ', 'ᙿ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᦪ', 'ᦫ'),
+ ('᧚', '᧚'),
+ ('ᨠ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '᪉'),
+ ('᪐', '᪙'),
+ ('᪠', '᪭'),
+ ('\u{1cd0}', 'ᳲ'),
+ ('\u{1dfd}', '\u{1dfd}'),
+ ('₶', '₸'),
+ ('⅐', '⅒'),
+ ('↉', '↉'),
+ ('⏨', '⏨'),
+ ('⚞', '⚟'),
+ ('⚽', '⚿'),
+ ('⛄', '⛍'),
+ ('⛏', '⛡'),
+ ('⛣', '⛣'),
+ ('⛨', '⛿'),
+ ('❗', '❗'),
+ ('⭕', '⭙'),
+ ('Ɒ', 'Ɒ'),
+ ('Ȿ', 'Ɀ'),
+ ('Ⳬ', '\u{2cf1}'),
+ ('⸱', '⸱'),
+ ('㉄', '㉏'),
+ ('鿄', '鿋'),
+ ('ꓐ', '꓿'),
+ ('ꚠ', '꛷'),
+ ('꠰', '꠹'),
+ ('\u{a8e0}', 'ꣻ'),
+ ('ꥠ', 'ꥼ'),
+ ('\u{a980}', '꧍'),
+ ('ꧏ', '꧙'),
+ ('꧞', '꧟'),
+ ('ꩠ', 'ꩻ'),
+ ('ꪀ', 'ꫂ'),
+ ('ꫛ', '꫟'),
+ ('ꯀ', '\u{abed}'),
+ ('꯰', '꯹'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('恵', '舘'),
+ ('𐡀', '𐡕'),
+ ('𐡗', '𐡟'),
+ ('𐤚', '𐤛'),
+ ('𐩠', '𐩿'),
+ ('𐬀', '𐬵'),
+ ('𐬹', '𐭕'),
+ ('𐭘', '𐭲'),
+ ('𐭸', '𐭿'),
+ ('𐰀', '𐱈'),
+ ('𐹠', '𐹾'),
+ ('\u{11080}', '𑃁'),
+ ('𓀀', '𓐮'),
+ ('🄀', '🄊'),
+ ('🄐', '🄮'),
+ ('🄱', '🄱'),
+ ('🄽', '🄽'),
+ ('🄿', '🄿'),
+ ('🅂', '🅂'),
+ ('🅆', '🅆'),
+ ('🅊', '🅎'),
+ ('🅗', '🅗'),
+ ('🅟', '🅟'),
+ ('🅹', '🅹'),
+ ('🅻', '🅼'),
+ ('🅿', '🅿'),
+ ('🆊', '🆍'),
+ ('🆐', '🆐'),
+ ('🈀', '🈀'),
+ ('🈐', '🈱'),
+ ('🉀', '🉈'),
+ ('𪜀', '𫜴'),
+];
+
+pub const V6_0: &'static [(char, char)] = &[
+ ('Ԧ', 'ԧ'),
+ ('ؠ', 'ؠ'),
+ ('\u{65f}', '\u{65f}'),
+ ('ࡀ', '\u{85b}'),
+ ('࡞', '࡞'),
+ ('\u{93a}', 'ऻ'),
+ ('ॏ', 'ॏ'),
+ ('\u{956}', '\u{957}'),
+ ('ॳ', 'ॷ'),
+ ('୲', '୷'),
+ ('ഩ', 'ഩ'),
+ ('ഺ', 'ഺ'),
+ ('ൎ', 'ൎ'),
+ ('ྌ', '\u{f8f}'),
+ ('࿙', '࿚'),
+ ('\u{135d}', '\u{135e}'),
+ ('ᯀ', '᯳'),
+ ('᯼', '᯿'),
+ ('\u{1dfc}', '\u{1dfc}'),
+ ('ₕ', 'ₜ'),
+ ('₹', '₹'),
+ ('⏩', '⏳'),
+ ('⛎', '⛎'),
+ ('⛢', '⛢'),
+ ('⛤', '⛧'),
+ ('✅', '✅'),
+ ('✊', '✋'),
+ ('✨', '✨'),
+ ('❌', '❌'),
+ ('❎', '❎'),
+ ('❓', '❕'),
+ ('❟', '❠'),
+ ('➕', '➗'),
+ ('➰', '➰'),
+ ('➿', '➿'),
+ ('⟎', '⟏'),
+ ('⵰', '⵰'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('ㆸ', 'ㆺ'),
+ ('Ꙡ', 'ꙡ'),
+ ('Ɥ', 'ꞎ'),
+ ('Ꞑ', 'ꞑ'),
+ ('Ꞡ', 'ꞩ'),
+ ('ꟺ', 'ꟺ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('﮲', '﯁'),
+ ('𑀀', '𑁍'),
+ ('𑁒', '𑁯'),
+ ('𖠀', '𖨸'),
+ ('𛀀', '𛀁'),
+ ('🂠', '🂮'),
+ ('🂱', '🂾'),
+ ('🃁', '🃏'),
+ ('🃑', '🃟'),
+ ('🄰', '🄰'),
+ ('🄲', '🄼'),
+ ('🄾', '🄾'),
+ ('🅀', '🅁'),
+ ('🅃', '🅅'),
+ ('🅇', '🅉'),
+ ('🅏', '🅖'),
+ ('🅘', '🅞'),
+ ('🅠', '🅩'),
+ ('🅰', '🅸'),
+ ('🅺', '🅺'),
+ ('🅽', '🅾'),
+ ('🆀', '🆉'),
+ ('🆎', '🆏'),
+ ('🆑', '🆚'),
+ ('🇦', '🇿'),
+ ('🈁', '🈂'),
+ ('🈲', '🈺'),
+ ('🉐', '🉑'),
+ ('🌀', '🌠'),
+ ('🌰', '🌵'),
+ ('🌷', '🍼'),
+ ('🎀', '🎓'),
+ ('🎠', '🏄'),
+ ('🏆', '🏊'),
+ ('🏠', '🏰'),
+ ('🐀', '🐾'),
+ ('👀', '👀'),
+ ('👂', '📷'),
+ ('📹', '📼'),
+ ('🔀', '🔽'),
+ ('🕐', '🕧'),
+ ('🗻', '🗿'),
+ ('😁', '😐'),
+ ('😒', '😔'),
+ ('😖', '😖'),
+ ('😘', '😘'),
+ ('😚', '😚'),
+ ('😜', '😞'),
+ ('😠', '😥'),
+ ('😨', '😫'),
+ ('😭', '😭'),
+ ('😰', '😳'),
+ ('😵', '🙀'),
+ ('🙅', '🙏'),
+ ('🚀', '🛅'),
+ ('🜀', '🝳'),
+ ('𫝀', '𫠝'),
+];
+
+pub const V6_1: &'static [(char, char)] = &[
+ ('֏', '֏'),
+ ('\u{604}', '\u{604}'),
+ ('ࢠ', 'ࢠ'),
+ ('ࢢ', 'ࢬ'),
+ ('\u{8e4}', '\u{8fe}'),
+ ('૰', '૰'),
+ ('ໞ', 'ໟ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ჽ', 'ჿ'),
+ ('\u{1bab}', '\u{1bad}'),
+ ('ᮺ', 'ᮿ'),
+ ('᳀', '᳇'),
+ ('ᳳ', 'ᳶ'),
+ ('⟋', '⟋'),
+ ('⟍', '⟍'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⵦ', 'ⵧ'),
+ ('⸲', '⸻'),
+ ('鿌', '鿌'),
+ ('\u{a674}', '\u{a67b}'),
+ ('\u{a69f}', '\u{a69f}'),
+ ('Ꞓ', 'ꞓ'),
+ ('Ɦ', 'Ɦ'),
+ ('ꟸ', 'ꟹ'),
+ ('ꫠ', '\u{aaf6}'),
+ ('郞', '隷'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𑃐', '𑃨'),
+ ('𑃰', '𑃹'),
+ ('\u{11100}', '\u{11134}'),
+ ('𑄶', '𑅃'),
+ ('\u{11180}', '𑇈'),
+ ('𑇐', '𑇙'),
+ ('𑚀', '\u{116b7}'),
+ ('𑛀', '𑛉'),
+ ('𖼀', '𖽄'),
+ ('𖽐', '𖽾'),
+ ('\u{16f8f}', '𖾟'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𞻰', '𞻱'),
+ ('🅪', '🅫'),
+ ('🕀', '🕃'),
+ ('😀', '😀'),
+ ('😑', '😑'),
+ ('😕', '😕'),
+ ('😗', '😗'),
+ ('😙', '😙'),
+ ('😛', '😛'),
+ ('😟', '😟'),
+ ('😦', '😧'),
+ ('😬', '😬'),
+ ('😮', '😯'),
+ ('😴', '😴'),
+];
+
+pub const V6_2: &'static [(char, char)] = &[('₺', '₺')];
+
+pub const V6_3: &'static [(char, char)] =
+ &[('\u{61c}', '\u{61c}'), ('\u{2066}', '\u{2069}')];
+
+pub const V7_0: &'static [(char, char)] = &[
+ ('Ϳ', 'Ϳ'),
+ ('Ԩ', 'ԯ'),
+ ('֍', '֎'),
+ ('\u{605}', '\u{605}'),
+ ('ࢡ', 'ࢡ'),
+ ('ࢭ', 'ࢲ'),
+ ('\u{8ff}', '\u{8ff}'),
+ ('ॸ', 'ॸ'),
+ ('ঀ', 'ঀ'),
+ ('\u{c00}', '\u{c00}'),
+ ('ఴ', 'ఴ'),
+ ('\u{c81}', '\u{c81}'),
+ ('\u{d01}', '\u{d01}'),
+ ('෦', '෯'),
+ ('ᛱ', 'ᛸ'),
+ ('ᤝ', 'ᤞ'),
+ ('\u{1ab0}', '\u{1abe}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{1de7}', '\u{1df5}'),
+ ('₻', '₽'),
+ ('⏴', '⏺'),
+ ('✀', '✀'),
+ ('⭍', '⭏'),
+ ('⭚', '⭳'),
+ ('⭶', '⮕'),
+ ('⮘', '⮹'),
+ ('⮽', '⯈'),
+ ('⯊', '⯑'),
+ ('⸼', '⹂'),
+ ('Ꚙ', 'ꚝ'),
+ ('ꞔ', 'ꞟ'),
+ ('Ɜ', 'Ɬ'),
+ ('Ʞ', 'Ʇ'),
+ ('ꟷ', 'ꟷ'),
+ ('ꧠ', 'ꧾ'),
+ ('\u{aa7c}', 'ꩿ'),
+ ('ꬰ', 'ꭟ'),
+ ('ꭤ', 'ꭥ'),
+ ('\u{fe27}', '\u{fe2d}'),
+ ('𐆋', '𐆌'),
+ ('𐆠', '𐆠'),
+ ('\u{102e0}', '𐋻'),
+ ('𐌟', '𐌟'),
+ ('𐍐', '\u{1037a}'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕯', '𐕯'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐡠', '𐢞'),
+ ('𐢧', '𐢯'),
+ ('𐪀', '𐪟'),
+ ('𐫀', '\u{10ae6}'),
+ ('𐫫', '𐫶'),
+ ('𐮀', '𐮑'),
+ ('𐮙', '𐮜'),
+ ('𐮩', '𐮯'),
+ ('\u{1107f}', '\u{1107f}'),
+ ('𑅐', '𑅶'),
+ ('𑇍', '𑇍'),
+ ('𑇚', '𑇚'),
+ ('𑇡', '𑇴'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈽'),
+ ('𑊰', '\u{112ea}'),
+ ('𑋰', '𑋹'),
+ ('\u{11301}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('\u{1133c}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑒀', '𑓇'),
+ ('𑓐', '𑓙'),
+ ('𑖀', '\u{115b5}'),
+ ('𑖸', '𑗉'),
+ ('𑘀', '𑙄'),
+ ('𑙐', '𑙙'),
+ ('𑢠', '𑣲'),
+ ('𑣿', '𑣿'),
+ ('𑫀', '𑫸'),
+ ('𒍯', '𒎘'),
+ ('𒑣', '𒑮'),
+ ('𒑴', '𒑴'),
+ ('𖩀', '𖩞'),
+ ('𖩠', '𖩩'),
+ ('𖩮', '𖩯'),
+ ('𖫐', '𖫭'),
+ ('\u{16af0}', '𖫵'),
+ ('𖬀', '𖭅'),
+ ('𖭐', '𖭙'),
+ ('𖭛', '𖭡'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𛲜', '\u{1bca3}'),
+ ('𞠀', '𞣄'),
+ ('𞣇', '\u{1e8d6}'),
+ ('🂿', '🂿'),
+ ('🃠', '🃵'),
+ ('🄋', '🄌'),
+ ('🌡', '🌬'),
+ ('🌶', '🌶'),
+ ('🍽', '🍽'),
+ ('🎔', '🎟'),
+ ('🏅', '🏅'),
+ ('🏋', '🏎'),
+ ('🏔', '🏟'),
+ ('🏱', '🏷'),
+ ('🐿', '🐿'),
+ ('👁', '👁'),
+ ('📸', '📸'),
+ ('📽', '📾'),
+ ('🔾', '🔿'),
+ ('🕄', '🕊'),
+ ('🕨', '🕹'),
+ ('🕻', '🖣'),
+ ('🖥', '🗺'),
+ ('🙁', '🙂'),
+ ('🙐', '🙿'),
+ ('🛆', '🛏'),
+ ('🛠', '🛬'),
+ ('🛰', '🛳'),
+ ('🞀', '🟔'),
+ ('🠀', '🠋'),
+ ('🠐', '🡇'),
+ ('🡐', '🡙'),
+ ('🡠', '🢇'),
+ ('🢐', '🢭'),
+];
+
+pub const V8_0: &'static [(char, char)] = &[
+ ('ࢳ', 'ࢴ'),
+ ('\u{8e3}', '\u{8e3}'),
+ ('ૹ', 'ૹ'),
+ ('ౚ', 'ౚ'),
+ ('ൟ', 'ൟ'),
+ ('Ᏽ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('₾', '₾'),
+ ('↊', '↋'),
+ ('⯬', '⯯'),
+ ('鿍', '鿕'),
+ ('\u{a69e}', '\u{a69e}'),
+ ('ꞏ', 'ꞏ'),
+ ('Ʝ', 'ꞷ'),
+ ('꣼', 'ꣽ'),
+ ('ꭠ', 'ꭣ'),
+ ('ꭰ', 'ꮿ'),
+ ('\u{fe2e}', '\u{fe2f}'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐣻', '𐣿'),
+ ('𐦼', '𐦽'),
+ ('𐧀', '𐧏'),
+ ('𐧒', '𐧿'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐳺', '𐳿'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇛', '𑇟'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊩'),
+ ('\u{11300}', '\u{11300}'),
+ ('𑍐', '𑍐'),
+ ('𑗊', '\u{115dd}'),
+ ('𑜀', '𑜙'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑜰', '𑜿'),
+ ('𒎙', '𒎙'),
+ ('𒒀', '𒕃'),
+ ('𔐀', '𔙆'),
+ ('𝇞', '𝇨'),
+ ('𝠀', '𝪋'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('🌭', '🌯'),
+ ('🍾', '🍿'),
+ ('🏏', '🏓'),
+ ('🏸', '🏿'),
+ ('📿', '📿'),
+ ('🕋', '🕏'),
+ ('🙃', '🙄'),
+ ('🛐', '🛐'),
+ ('🤐', '🤘'),
+ ('🦀', '🦄'),
+ ('🧀', '🧀'),
+ ('𫠠', '𬺡'),
+];
+
+pub const V9_0: &'static [(char, char)] = &[
+ ('ࢶ', 'ࢽ'),
+ ('\u{8d4}', '\u{8e2}'),
+ ('ಀ', 'ಀ'),
+ ('൏', '൏'),
+ ('ൔ', 'ൖ'),
+ ('൘', '൞'),
+ ('൶', '൸'),
+ ('ᲀ', 'ᲈ'),
+ ('\u{1dfb}', '\u{1dfb}'),
+ ('⏻', '⏾'),
+ ('⹃', '⹄'),
+ ('Ɪ', 'Ɪ'),
+ ('\u{a8c5}', '\u{a8c5}'),
+ ('𐆍', '𐆎'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('𑐀', '𑑙'),
+ ('𑑛', '𑑛'),
+ ('𑑝', '𑑝'),
+ ('𑙠', '𑙬'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '\u{11c36}'),
+ ('\u{11c38}', '𑱅'),
+ ('𑱐', '𑱬'),
+ ('𑱰', '𑲏'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('𖿠', '𖿠'),
+ ('𗀀', '𘟬'),
+ ('𘠀', '𘫲'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('𞤀', '\u{1e94a}'),
+ ('𞥐', '𞥙'),
+ ('𞥞', '𞥟'),
+ ('🆛', '🆬'),
+ ('🈻', '🈻'),
+ ('🕺', '🕺'),
+ ('🖤', '🖤'),
+ ('🛑', '🛒'),
+ ('🛴', '🛶'),
+ ('🤙', '🤞'),
+ ('🤠', '🤧'),
+ ('🤰', '🤰'),
+ ('🤳', '🤾'),
+ ('🥀', '🥋'),
+ ('🥐', '🥞'),
+ ('🦅', '🦑'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/case_folding_simple.rs b/third_party/rust/regex-syntax/src/unicode_tables/case_folding_simple.rs
new file mode 100644
index 0000000000..23f9364ce9
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/case_folding_simple.rs
@@ -0,0 +1,2888 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate case-folding-simple ucd-15.0.0 --chars --all-pairs
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const CASE_FOLDING_SIMPLE: &'static [(char, &'static [char])] = &[
+ ('A', &['a']),
+ ('B', &['b']),
+ ('C', &['c']),
+ ('D', &['d']),
+ ('E', &['e']),
+ ('F', &['f']),
+ ('G', &['g']),
+ ('H', &['h']),
+ ('I', &['i']),
+ ('J', &['j']),
+ ('K', &['k', 'K']),
+ ('L', &['l']),
+ ('M', &['m']),
+ ('N', &['n']),
+ ('O', &['o']),
+ ('P', &['p']),
+ ('Q', &['q']),
+ ('R', &['r']),
+ ('S', &['s', 'ſ']),
+ ('T', &['t']),
+ ('U', &['u']),
+ ('V', &['v']),
+ ('W', &['w']),
+ ('X', &['x']),
+ ('Y', &['y']),
+ ('Z', &['z']),
+ ('a', &['A']),
+ ('b', &['B']),
+ ('c', &['C']),
+ ('d', &['D']),
+ ('e', &['E']),
+ ('f', &['F']),
+ ('g', &['G']),
+ ('h', &['H']),
+ ('i', &['I']),
+ ('j', &['J']),
+ ('k', &['K', 'K']),
+ ('l', &['L']),
+ ('m', &['M']),
+ ('n', &['N']),
+ ('o', &['O']),
+ ('p', &['P']),
+ ('q', &['Q']),
+ ('r', &['R']),
+ ('s', &['S', 'ſ']),
+ ('t', &['T']),
+ ('u', &['U']),
+ ('v', &['V']),
+ ('w', &['W']),
+ ('x', &['X']),
+ ('y', &['Y']),
+ ('z', &['Z']),
+ ('µ', &['Μ', 'μ']),
+ ('À', &['à']),
+ ('Á', &['á']),
+ ('Â', &['â']),
+ ('Ã', &['ã']),
+ ('Ä', &['ä']),
+ ('Å', &['å', 'Å']),
+ ('Æ', &['æ']),
+ ('Ç', &['ç']),
+ ('È', &['è']),
+ ('É', &['é']),
+ ('Ê', &['ê']),
+ ('Ë', &['ë']),
+ ('Ì', &['ì']),
+ ('Í', &['í']),
+ ('Î', &['î']),
+ ('Ï', &['ï']),
+ ('Ð', &['ð']),
+ ('Ñ', &['ñ']),
+ ('Ò', &['ò']),
+ ('Ó', &['ó']),
+ ('Ô', &['ô']),
+ ('Õ', &['õ']),
+ ('Ö', &['ö']),
+ ('Ø', &['ø']),
+ ('Ù', &['ù']),
+ ('Ú', &['ú']),
+ ('Û', &['û']),
+ ('Ü', &['ü']),
+ ('Ý', &['ý']),
+ ('Þ', &['þ']),
+ ('ß', &['ẞ']),
+ ('à', &['À']),
+ ('á', &['Á']),
+ ('â', &['Â']),
+ ('ã', &['Ã']),
+ ('ä', &['Ä']),
+ ('å', &['Å', 'Å']),
+ ('æ', &['Æ']),
+ ('ç', &['Ç']),
+ ('è', &['È']),
+ ('é', &['É']),
+ ('ê', &['Ê']),
+ ('ë', &['Ë']),
+ ('ì', &['Ì']),
+ ('í', &['Í']),
+ ('î', &['Î']),
+ ('ï', &['Ï']),
+ ('ð', &['Ð']),
+ ('ñ', &['Ñ']),
+ ('ò', &['Ò']),
+ ('ó', &['Ó']),
+ ('ô', &['Ô']),
+ ('õ', &['Õ']),
+ ('ö', &['Ö']),
+ ('ø', &['Ø']),
+ ('ù', &['Ù']),
+ ('ú', &['Ú']),
+ ('û', &['Û']),
+ ('ü', &['Ü']),
+ ('ý', &['Ý']),
+ ('þ', &['Þ']),
+ ('ÿ', &['Ÿ']),
+ ('Ā', &['ā']),
+ ('ā', &['Ā']),
+ ('Ă', &['ă']),
+ ('ă', &['Ă']),
+ ('Ą', &['ą']),
+ ('ą', &['Ą']),
+ ('Ć', &['ć']),
+ ('ć', &['Ć']),
+ ('Ĉ', &['ĉ']),
+ ('ĉ', &['Ĉ']),
+ ('Ċ', &['ċ']),
+ ('ċ', &['Ċ']),
+ ('Č', &['č']),
+ ('č', &['Č']),
+ ('Ď', &['ď']),
+ ('ď', &['Ď']),
+ ('Đ', &['đ']),
+ ('đ', &['Đ']),
+ ('Ē', &['ē']),
+ ('ē', &['Ē']),
+ ('Ĕ', &['ĕ']),
+ ('ĕ', &['Ĕ']),
+ ('Ė', &['ė']),
+ ('ė', &['Ė']),
+ ('Ę', &['ę']),
+ ('ę', &['Ę']),
+ ('Ě', &['ě']),
+ ('ě', &['Ě']),
+ ('Ĝ', &['ĝ']),
+ ('ĝ', &['Ĝ']),
+ ('Ğ', &['ğ']),
+ ('ğ', &['Ğ']),
+ ('Ġ', &['ġ']),
+ ('ġ', &['Ġ']),
+ ('Ģ', &['ģ']),
+ ('ģ', &['Ģ']),
+ ('Ĥ', &['ĥ']),
+ ('ĥ', &['Ĥ']),
+ ('Ħ', &['ħ']),
+ ('ħ', &['Ħ']),
+ ('Ĩ', &['ĩ']),
+ ('ĩ', &['Ĩ']),
+ ('Ī', &['ī']),
+ ('ī', &['Ī']),
+ ('Ĭ', &['ĭ']),
+ ('ĭ', &['Ĭ']),
+ ('Į', &['į']),
+ ('į', &['Į']),
+ ('IJ', &['ij']),
+ ('ij', &['IJ']),
+ ('Ĵ', &['ĵ']),
+ ('ĵ', &['Ĵ']),
+ ('Ķ', &['ķ']),
+ ('ķ', &['Ķ']),
+ ('Ĺ', &['ĺ']),
+ ('ĺ', &['Ĺ']),
+ ('Ļ', &['ļ']),
+ ('ļ', &['Ļ']),
+ ('Ľ', &['ľ']),
+ ('ľ', &['Ľ']),
+ ('Ŀ', &['ŀ']),
+ ('ŀ', &['Ŀ']),
+ ('Ł', &['ł']),
+ ('ł', &['Ł']),
+ ('Ń', &['ń']),
+ ('ń', &['Ń']),
+ ('Ņ', &['ņ']),
+ ('ņ', &['Ņ']),
+ ('Ň', &['ň']),
+ ('ň', &['Ň']),
+ ('Ŋ', &['ŋ']),
+ ('ŋ', &['Ŋ']),
+ ('Ō', &['ō']),
+ ('ō', &['Ō']),
+ ('Ŏ', &['ŏ']),
+ ('ŏ', &['Ŏ']),
+ ('Ő', &['ő']),
+ ('ő', &['Ő']),
+ ('Œ', &['œ']),
+ ('œ', &['Œ']),
+ ('Ŕ', &['ŕ']),
+ ('ŕ', &['Ŕ']),
+ ('Ŗ', &['ŗ']),
+ ('ŗ', &['Ŗ']),
+ ('Ř', &['ř']),
+ ('ř', &['Ř']),
+ ('Ś', &['ś']),
+ ('ś', &['Ś']),
+ ('Ŝ', &['ŝ']),
+ ('ŝ', &['Ŝ']),
+ ('Ş', &['ş']),
+ ('ş', &['Ş']),
+ ('Š', &['š']),
+ ('š', &['Š']),
+ ('Ţ', &['ţ']),
+ ('ţ', &['Ţ']),
+ ('Ť', &['ť']),
+ ('ť', &['Ť']),
+ ('Ŧ', &['ŧ']),
+ ('ŧ', &['Ŧ']),
+ ('Ũ', &['ũ']),
+ ('ũ', &['Ũ']),
+ ('Ū', &['ū']),
+ ('ū', &['Ū']),
+ ('Ŭ', &['ŭ']),
+ ('ŭ', &['Ŭ']),
+ ('Ů', &['ů']),
+ ('ů', &['Ů']),
+ ('Ű', &['ű']),
+ ('ű', &['Ű']),
+ ('Ų', &['ų']),
+ ('ų', &['Ų']),
+ ('Ŵ', &['ŵ']),
+ ('ŵ', &['Ŵ']),
+ ('Ŷ', &['ŷ']),
+ ('ŷ', &['Ŷ']),
+ ('Ÿ', &['ÿ']),
+ ('Ź', &['ź']),
+ ('ź', &['Ź']),
+ ('Ż', &['ż']),
+ ('ż', &['Ż']),
+ ('Ž', &['ž']),
+ ('ž', &['Ž']),
+ ('ſ', &['S', 's']),
+ ('ƀ', &['Ƀ']),
+ ('Ɓ', &['ɓ']),
+ ('Ƃ', &['ƃ']),
+ ('ƃ', &['Ƃ']),
+ ('Ƅ', &['ƅ']),
+ ('ƅ', &['Ƅ']),
+ ('Ɔ', &['ɔ']),
+ ('Ƈ', &['ƈ']),
+ ('ƈ', &['Ƈ']),
+ ('Ɖ', &['ɖ']),
+ ('Ɗ', &['ɗ']),
+ ('Ƌ', &['ƌ']),
+ ('ƌ', &['Ƌ']),
+ ('Ǝ', &['ǝ']),
+ ('Ə', &['ə']),
+ ('Ɛ', &['ɛ']),
+ ('Ƒ', &['ƒ']),
+ ('ƒ', &['Ƒ']),
+ ('Ɠ', &['ɠ']),
+ ('Ɣ', &['ɣ']),
+ ('ƕ', &['Ƕ']),
+ ('Ɩ', &['ɩ']),
+ ('Ɨ', &['ɨ']),
+ ('Ƙ', &['ƙ']),
+ ('ƙ', &['Ƙ']),
+ ('ƚ', &['Ƚ']),
+ ('Ɯ', &['ɯ']),
+ ('Ɲ', &['ɲ']),
+ ('ƞ', &['Ƞ']),
+ ('Ɵ', &['ɵ']),
+ ('Ơ', &['ơ']),
+ ('ơ', &['Ơ']),
+ ('Ƣ', &['ƣ']),
+ ('ƣ', &['Ƣ']),
+ ('Ƥ', &['ƥ']),
+ ('ƥ', &['Ƥ']),
+ ('Ʀ', &['ʀ']),
+ ('Ƨ', &['ƨ']),
+ ('ƨ', &['Ƨ']),
+ ('Ʃ', &['ʃ']),
+ ('Ƭ', &['ƭ']),
+ ('ƭ', &['Ƭ']),
+ ('Ʈ', &['ʈ']),
+ ('Ư', &['ư']),
+ ('ư', &['Ư']),
+ ('Ʊ', &['ʊ']),
+ ('Ʋ', &['ʋ']),
+ ('Ƴ', &['ƴ']),
+ ('ƴ', &['Ƴ']),
+ ('Ƶ', &['ƶ']),
+ ('ƶ', &['Ƶ']),
+ ('Ʒ', &['ʒ']),
+ ('Ƹ', &['ƹ']),
+ ('ƹ', &['Ƹ']),
+ ('Ƽ', &['ƽ']),
+ ('ƽ', &['Ƽ']),
+ ('ƿ', &['Ƿ']),
+ ('DŽ', &['Dž', 'dž']),
+ ('Dž', &['DŽ', 'dž']),
+ ('dž', &['DŽ', 'Dž']),
+ ('LJ', &['Lj', 'lj']),
+ ('Lj', &['LJ', 'lj']),
+ ('lj', &['LJ', 'Lj']),
+ ('NJ', &['Nj', 'nj']),
+ ('Nj', &['NJ', 'nj']),
+ ('nj', &['NJ', 'Nj']),
+ ('Ǎ', &['ǎ']),
+ ('ǎ', &['Ǎ']),
+ ('Ǐ', &['ǐ']),
+ ('ǐ', &['Ǐ']),
+ ('Ǒ', &['ǒ']),
+ ('ǒ', &['Ǒ']),
+ ('Ǔ', &['ǔ']),
+ ('ǔ', &['Ǔ']),
+ ('Ǖ', &['ǖ']),
+ ('ǖ', &['Ǖ']),
+ ('Ǘ', &['ǘ']),
+ ('ǘ', &['Ǘ']),
+ ('Ǚ', &['ǚ']),
+ ('ǚ', &['Ǚ']),
+ ('Ǜ', &['ǜ']),
+ ('ǜ', &['Ǜ']),
+ ('ǝ', &['Ǝ']),
+ ('Ǟ', &['ǟ']),
+ ('ǟ', &['Ǟ']),
+ ('Ǡ', &['ǡ']),
+ ('ǡ', &['Ǡ']),
+ ('Ǣ', &['ǣ']),
+ ('ǣ', &['Ǣ']),
+ ('Ǥ', &['ǥ']),
+ ('ǥ', &['Ǥ']),
+ ('Ǧ', &['ǧ']),
+ ('ǧ', &['Ǧ']),
+ ('Ǩ', &['ǩ']),
+ ('ǩ', &['Ǩ']),
+ ('Ǫ', &['ǫ']),
+ ('ǫ', &['Ǫ']),
+ ('Ǭ', &['ǭ']),
+ ('ǭ', &['Ǭ']),
+ ('Ǯ', &['ǯ']),
+ ('ǯ', &['Ǯ']),
+ ('DZ', &['Dz', 'dz']),
+ ('Dz', &['DZ', 'dz']),
+ ('dz', &['DZ', 'Dz']),
+ ('Ǵ', &['ǵ']),
+ ('ǵ', &['Ǵ']),
+ ('Ƕ', &['ƕ']),
+ ('Ƿ', &['ƿ']),
+ ('Ǹ', &['ǹ']),
+ ('ǹ', &['Ǹ']),
+ ('Ǻ', &['ǻ']),
+ ('ǻ', &['Ǻ']),
+ ('Ǽ', &['ǽ']),
+ ('ǽ', &['Ǽ']),
+ ('Ǿ', &['ǿ']),
+ ('ǿ', &['Ǿ']),
+ ('Ȁ', &['ȁ']),
+ ('ȁ', &['Ȁ']),
+ ('Ȃ', &['ȃ']),
+ ('ȃ', &['Ȃ']),
+ ('Ȅ', &['ȅ']),
+ ('ȅ', &['Ȅ']),
+ ('Ȇ', &['ȇ']),
+ ('ȇ', &['Ȇ']),
+ ('Ȉ', &['ȉ']),
+ ('ȉ', &['Ȉ']),
+ ('Ȋ', &['ȋ']),
+ ('ȋ', &['Ȋ']),
+ ('Ȍ', &['ȍ']),
+ ('ȍ', &['Ȍ']),
+ ('Ȏ', &['ȏ']),
+ ('ȏ', &['Ȏ']),
+ ('Ȑ', &['ȑ']),
+ ('ȑ', &['Ȑ']),
+ ('Ȓ', &['ȓ']),
+ ('ȓ', &['Ȓ']),
+ ('Ȕ', &['ȕ']),
+ ('ȕ', &['Ȕ']),
+ ('Ȗ', &['ȗ']),
+ ('ȗ', &['Ȗ']),
+ ('Ș', &['ș']),
+ ('ș', &['Ș']),
+ ('Ț', &['ț']),
+ ('ț', &['Ț']),
+ ('Ȝ', &['ȝ']),
+ ('ȝ', &['Ȝ']),
+ ('Ȟ', &['ȟ']),
+ ('ȟ', &['Ȟ']),
+ ('Ƞ', &['ƞ']),
+ ('Ȣ', &['ȣ']),
+ ('ȣ', &['Ȣ']),
+ ('Ȥ', &['ȥ']),
+ ('ȥ', &['Ȥ']),
+ ('Ȧ', &['ȧ']),
+ ('ȧ', &['Ȧ']),
+ ('Ȩ', &['ȩ']),
+ ('ȩ', &['Ȩ']),
+ ('Ȫ', &['ȫ']),
+ ('ȫ', &['Ȫ']),
+ ('Ȭ', &['ȭ']),
+ ('ȭ', &['Ȭ']),
+ ('Ȯ', &['ȯ']),
+ ('ȯ', &['Ȯ']),
+ ('Ȱ', &['ȱ']),
+ ('ȱ', &['Ȱ']),
+ ('Ȳ', &['ȳ']),
+ ('ȳ', &['Ȳ']),
+ ('Ⱥ', &['ⱥ']),
+ ('Ȼ', &['ȼ']),
+ ('ȼ', &['Ȼ']),
+ ('Ƚ', &['ƚ']),
+ ('Ⱦ', &['ⱦ']),
+ ('ȿ', &['Ȿ']),
+ ('ɀ', &['Ɀ']),
+ ('Ɂ', &['ɂ']),
+ ('ɂ', &['Ɂ']),
+ ('Ƀ', &['ƀ']),
+ ('Ʉ', &['ʉ']),
+ ('Ʌ', &['ʌ']),
+ ('Ɇ', &['ɇ']),
+ ('ɇ', &['Ɇ']),
+ ('Ɉ', &['ɉ']),
+ ('ɉ', &['Ɉ']),
+ ('Ɋ', &['ɋ']),
+ ('ɋ', &['Ɋ']),
+ ('Ɍ', &['ɍ']),
+ ('ɍ', &['Ɍ']),
+ ('Ɏ', &['ɏ']),
+ ('ɏ', &['Ɏ']),
+ ('ɐ', &['Ɐ']),
+ ('ɑ', &['Ɑ']),
+ ('ɒ', &['Ɒ']),
+ ('ɓ', &['Ɓ']),
+ ('ɔ', &['Ɔ']),
+ ('ɖ', &['Ɖ']),
+ ('ɗ', &['Ɗ']),
+ ('ə', &['Ə']),
+ ('ɛ', &['Ɛ']),
+ ('ɜ', &['Ɜ']),
+ ('ɠ', &['Ɠ']),
+ ('ɡ', &['Ɡ']),
+ ('ɣ', &['Ɣ']),
+ ('ɥ', &['Ɥ']),
+ ('ɦ', &['Ɦ']),
+ ('ɨ', &['Ɨ']),
+ ('ɩ', &['Ɩ']),
+ ('ɪ', &['Ɪ']),
+ ('ɫ', &['Ɫ']),
+ ('ɬ', &['Ɬ']),
+ ('ɯ', &['Ɯ']),
+ ('ɱ', &['Ɱ']),
+ ('ɲ', &['Ɲ']),
+ ('ɵ', &['Ɵ']),
+ ('ɽ', &['Ɽ']),
+ ('ʀ', &['Ʀ']),
+ ('ʂ', &['Ʂ']),
+ ('ʃ', &['Ʃ']),
+ ('ʇ', &['Ʇ']),
+ ('ʈ', &['Ʈ']),
+ ('ʉ', &['Ʉ']),
+ ('ʊ', &['Ʊ']),
+ ('ʋ', &['Ʋ']),
+ ('ʌ', &['Ʌ']),
+ ('ʒ', &['Ʒ']),
+ ('ʝ', &['Ʝ']),
+ ('ʞ', &['Ʞ']),
+ ('\u{345}', &['Ι', 'ι', 'ι']),
+ ('Ͱ', &['ͱ']),
+ ('ͱ', &['Ͱ']),
+ ('Ͳ', &['ͳ']),
+ ('ͳ', &['Ͳ']),
+ ('Ͷ', &['ͷ']),
+ ('ͷ', &['Ͷ']),
+ ('ͻ', &['Ͻ']),
+ ('ͼ', &['Ͼ']),
+ ('ͽ', &['Ͽ']),
+ ('Ϳ', &['ϳ']),
+ ('Ά', &['ά']),
+ ('Έ', &['έ']),
+ ('Ή', &['ή']),
+ ('Ί', &['ί']),
+ ('Ό', &['ό']),
+ ('Ύ', &['ύ']),
+ ('Ώ', &['ώ']),
+ ('Α', &['α']),
+ ('Β', &['β', 'ϐ']),
+ ('Γ', &['γ']),
+ ('Δ', &['δ']),
+ ('Ε', &['ε', 'ϵ']),
+ ('Ζ', &['ζ']),
+ ('Η', &['η']),
+ ('Θ', &['θ', 'ϑ', 'ϴ']),
+ ('Ι', &['\u{345}', 'ι', 'ι']),
+ ('Κ', &['κ', 'ϰ']),
+ ('Λ', &['λ']),
+ ('Μ', &['µ', 'μ']),
+ ('Ν', &['ν']),
+ ('Ξ', &['ξ']),
+ ('Ο', &['ο']),
+ ('Π', &['π', 'ϖ']),
+ ('Ρ', &['ρ', 'ϱ']),
+ ('Σ', &['ς', 'σ']),
+ ('Τ', &['τ']),
+ ('Υ', &['υ']),
+ ('Φ', &['φ', 'ϕ']),
+ ('Χ', &['χ']),
+ ('Ψ', &['ψ']),
+ ('Ω', &['ω', 'Ω']),
+ ('Ϊ', &['ϊ']),
+ ('Ϋ', &['ϋ']),
+ ('ά', &['Ά']),
+ ('έ', &['Έ']),
+ ('ή', &['Ή']),
+ ('ί', &['Ί']),
+ ('α', &['Α']),
+ ('β', &['Β', 'ϐ']),
+ ('γ', &['Γ']),
+ ('δ', &['Δ']),
+ ('ε', &['Ε', 'ϵ']),
+ ('ζ', &['Ζ']),
+ ('η', &['Η']),
+ ('θ', &['Θ', 'ϑ', 'ϴ']),
+ ('ι', &['\u{345}', 'Ι', 'ι']),
+ ('κ', &['Κ', 'ϰ']),
+ ('λ', &['Λ']),
+ ('μ', &['µ', 'Μ']),
+ ('ν', &['Ν']),
+ ('ξ', &['Ξ']),
+ ('ο', &['Ο']),
+ ('π', &['Π', 'ϖ']),
+ ('ρ', &['Ρ', 'ϱ']),
+ ('ς', &['Σ', 'σ']),
+ ('σ', &['Σ', 'ς']),
+ ('τ', &['Τ']),
+ ('υ', &['Υ']),
+ ('φ', &['Φ', 'ϕ']),
+ ('χ', &['Χ']),
+ ('ψ', &['Ψ']),
+ ('ω', &['Ω', 'Ω']),
+ ('ϊ', &['Ϊ']),
+ ('ϋ', &['Ϋ']),
+ ('ό', &['Ό']),
+ ('ύ', &['Ύ']),
+ ('ώ', &['Ώ']),
+ ('Ϗ', &['ϗ']),
+ ('ϐ', &['Β', 'β']),
+ ('ϑ', &['Θ', 'θ', 'ϴ']),
+ ('ϕ', &['Φ', 'φ']),
+ ('ϖ', &['Π', 'π']),
+ ('ϗ', &['Ϗ']),
+ ('Ϙ', &['ϙ']),
+ ('ϙ', &['Ϙ']),
+ ('Ϛ', &['ϛ']),
+ ('ϛ', &['Ϛ']),
+ ('Ϝ', &['ϝ']),
+ ('ϝ', &['Ϝ']),
+ ('Ϟ', &['ϟ']),
+ ('ϟ', &['Ϟ']),
+ ('Ϡ', &['ϡ']),
+ ('ϡ', &['Ϡ']),
+ ('Ϣ', &['ϣ']),
+ ('ϣ', &['Ϣ']),
+ ('Ϥ', &['ϥ']),
+ ('ϥ', &['Ϥ']),
+ ('Ϧ', &['ϧ']),
+ ('ϧ', &['Ϧ']),
+ ('Ϩ', &['ϩ']),
+ ('ϩ', &['Ϩ']),
+ ('Ϫ', &['ϫ']),
+ ('ϫ', &['Ϫ']),
+ ('Ϭ', &['ϭ']),
+ ('ϭ', &['Ϭ']),
+ ('Ϯ', &['ϯ']),
+ ('ϯ', &['Ϯ']),
+ ('ϰ', &['Κ', 'κ']),
+ ('ϱ', &['Ρ', 'ρ']),
+ ('ϲ', &['Ϲ']),
+ ('ϳ', &['Ϳ']),
+ ('ϴ', &['Θ', 'θ', 'ϑ']),
+ ('ϵ', &['Ε', 'ε']),
+ ('Ϸ', &['ϸ']),
+ ('ϸ', &['Ϸ']),
+ ('Ϲ', &['ϲ']),
+ ('Ϻ', &['ϻ']),
+ ('ϻ', &['Ϻ']),
+ ('Ͻ', &['ͻ']),
+ ('Ͼ', &['ͼ']),
+ ('Ͽ', &['ͽ']),
+ ('Ѐ', &['ѐ']),
+ ('Ё', &['ё']),
+ ('Ђ', &['ђ']),
+ ('Ѓ', &['ѓ']),
+ ('Є', &['є']),
+ ('Ѕ', &['ѕ']),
+ ('І', &['і']),
+ ('Ї', &['ї']),
+ ('Ј', &['ј']),
+ ('Љ', &['љ']),
+ ('Њ', &['њ']),
+ ('Ћ', &['ћ']),
+ ('Ќ', &['ќ']),
+ ('Ѝ', &['ѝ']),
+ ('Ў', &['ў']),
+ ('Џ', &['џ']),
+ ('А', &['а']),
+ ('Б', &['б']),
+ ('В', &['в', 'ᲀ']),
+ ('Г', &['г']),
+ ('Д', &['д', 'ᲁ']),
+ ('Е', &['е']),
+ ('Ж', &['ж']),
+ ('З', &['з']),
+ ('И', &['и']),
+ ('Й', &['й']),
+ ('К', &['к']),
+ ('Л', &['л']),
+ ('М', &['м']),
+ ('Н', &['н']),
+ ('О', &['о', 'ᲂ']),
+ ('П', &['п']),
+ ('Р', &['р']),
+ ('С', &['с', 'ᲃ']),
+ ('Т', &['т', 'ᲄ', 'ᲅ']),
+ ('У', &['у']),
+ ('Ф', &['ф']),
+ ('Х', &['х']),
+ ('Ц', &['ц']),
+ ('Ч', &['ч']),
+ ('Ш', &['ш']),
+ ('Щ', &['щ']),
+ ('Ъ', &['ъ', 'ᲆ']),
+ ('Ы', &['ы']),
+ ('Ь', &['ь']),
+ ('Э', &['э']),
+ ('Ю', &['ю']),
+ ('Я', &['я']),
+ ('а', &['А']),
+ ('б', &['Б']),
+ ('в', &['В', 'ᲀ']),
+ ('г', &['Г']),
+ ('д', &['Д', 'ᲁ']),
+ ('е', &['Е']),
+ ('ж', &['Ж']),
+ ('з', &['З']),
+ ('и', &['И']),
+ ('й', &['Й']),
+ ('к', &['К']),
+ ('л', &['Л']),
+ ('м', &['М']),
+ ('н', &['Н']),
+ ('о', &['О', 'ᲂ']),
+ ('п', &['П']),
+ ('р', &['Р']),
+ ('с', &['С', 'ᲃ']),
+ ('т', &['Т', 'ᲄ', 'ᲅ']),
+ ('у', &['У']),
+ ('ф', &['Ф']),
+ ('х', &['Х']),
+ ('ц', &['Ц']),
+ ('ч', &['Ч']),
+ ('ш', &['Ш']),
+ ('щ', &['Щ']),
+ ('ъ', &['Ъ', 'ᲆ']),
+ ('ы', &['Ы']),
+ ('ь', &['Ь']),
+ ('э', &['Э']),
+ ('ю', &['Ю']),
+ ('я', &['Я']),
+ ('ѐ', &['Ѐ']),
+ ('ё', &['Ё']),
+ ('ђ', &['Ђ']),
+ ('ѓ', &['Ѓ']),
+ ('є', &['Є']),
+ ('ѕ', &['Ѕ']),
+ ('і', &['І']),
+ ('ї', &['Ї']),
+ ('ј', &['Ј']),
+ ('љ', &['Љ']),
+ ('њ', &['Њ']),
+ ('ћ', &['Ћ']),
+ ('ќ', &['Ќ']),
+ ('ѝ', &['Ѝ']),
+ ('ў', &['Ў']),
+ ('џ', &['Џ']),
+ ('Ѡ', &['ѡ']),
+ ('ѡ', &['Ѡ']),
+ ('Ѣ', &['ѣ', 'ᲇ']),
+ ('ѣ', &['Ѣ', 'ᲇ']),
+ ('Ѥ', &['ѥ']),
+ ('ѥ', &['Ѥ']),
+ ('Ѧ', &['ѧ']),
+ ('ѧ', &['Ѧ']),
+ ('Ѩ', &['ѩ']),
+ ('ѩ', &['Ѩ']),
+ ('Ѫ', &['ѫ']),
+ ('ѫ', &['Ѫ']),
+ ('Ѭ', &['ѭ']),
+ ('ѭ', &['Ѭ']),
+ ('Ѯ', &['ѯ']),
+ ('ѯ', &['Ѯ']),
+ ('Ѱ', &['ѱ']),
+ ('ѱ', &['Ѱ']),
+ ('Ѳ', &['ѳ']),
+ ('ѳ', &['Ѳ']),
+ ('Ѵ', &['ѵ']),
+ ('ѵ', &['Ѵ']),
+ ('Ѷ', &['ѷ']),
+ ('ѷ', &['Ѷ']),
+ ('Ѹ', &['ѹ']),
+ ('ѹ', &['Ѹ']),
+ ('Ѻ', &['ѻ']),
+ ('ѻ', &['Ѻ']),
+ ('Ѽ', &['ѽ']),
+ ('ѽ', &['Ѽ']),
+ ('Ѿ', &['ѿ']),
+ ('ѿ', &['Ѿ']),
+ ('Ҁ', &['ҁ']),
+ ('ҁ', &['Ҁ']),
+ ('Ҋ', &['ҋ']),
+ ('ҋ', &['Ҋ']),
+ ('Ҍ', &['ҍ']),
+ ('ҍ', &['Ҍ']),
+ ('Ҏ', &['ҏ']),
+ ('ҏ', &['Ҏ']),
+ ('Ґ', &['ґ']),
+ ('ґ', &['Ґ']),
+ ('Ғ', &['ғ']),
+ ('ғ', &['Ғ']),
+ ('Ҕ', &['ҕ']),
+ ('ҕ', &['Ҕ']),
+ ('Җ', &['җ']),
+ ('җ', &['Җ']),
+ ('Ҙ', &['ҙ']),
+ ('ҙ', &['Ҙ']),
+ ('Қ', &['қ']),
+ ('қ', &['Қ']),
+ ('Ҝ', &['ҝ']),
+ ('ҝ', &['Ҝ']),
+ ('Ҟ', &['ҟ']),
+ ('ҟ', &['Ҟ']),
+ ('Ҡ', &['ҡ']),
+ ('ҡ', &['Ҡ']),
+ ('Ң', &['ң']),
+ ('ң', &['Ң']),
+ ('Ҥ', &['ҥ']),
+ ('ҥ', &['Ҥ']),
+ ('Ҧ', &['ҧ']),
+ ('ҧ', &['Ҧ']),
+ ('Ҩ', &['ҩ']),
+ ('ҩ', &['Ҩ']),
+ ('Ҫ', &['ҫ']),
+ ('ҫ', &['Ҫ']),
+ ('Ҭ', &['ҭ']),
+ ('ҭ', &['Ҭ']),
+ ('Ү', &['ү']),
+ ('ү', &['Ү']),
+ ('Ұ', &['ұ']),
+ ('ұ', &['Ұ']),
+ ('Ҳ', &['ҳ']),
+ ('ҳ', &['Ҳ']),
+ ('Ҵ', &['ҵ']),
+ ('ҵ', &['Ҵ']),
+ ('Ҷ', &['ҷ']),
+ ('ҷ', &['Ҷ']),
+ ('Ҹ', &['ҹ']),
+ ('ҹ', &['Ҹ']),
+ ('Һ', &['һ']),
+ ('һ', &['Һ']),
+ ('Ҽ', &['ҽ']),
+ ('ҽ', &['Ҽ']),
+ ('Ҿ', &['ҿ']),
+ ('ҿ', &['Ҿ']),
+ ('Ӏ', &['ӏ']),
+ ('Ӂ', &['ӂ']),
+ ('ӂ', &['Ӂ']),
+ ('Ӄ', &['ӄ']),
+ ('ӄ', &['Ӄ']),
+ ('Ӆ', &['ӆ']),
+ ('ӆ', &['Ӆ']),
+ ('Ӈ', &['ӈ']),
+ ('ӈ', &['Ӈ']),
+ ('Ӊ', &['ӊ']),
+ ('ӊ', &['Ӊ']),
+ ('Ӌ', &['ӌ']),
+ ('ӌ', &['Ӌ']),
+ ('Ӎ', &['ӎ']),
+ ('ӎ', &['Ӎ']),
+ ('ӏ', &['Ӏ']),
+ ('Ӑ', &['ӑ']),
+ ('ӑ', &['Ӑ']),
+ ('Ӓ', &['ӓ']),
+ ('ӓ', &['Ӓ']),
+ ('Ӕ', &['ӕ']),
+ ('ӕ', &['Ӕ']),
+ ('Ӗ', &['ӗ']),
+ ('ӗ', &['Ӗ']),
+ ('Ә', &['ә']),
+ ('ә', &['Ә']),
+ ('Ӛ', &['ӛ']),
+ ('ӛ', &['Ӛ']),
+ ('Ӝ', &['ӝ']),
+ ('ӝ', &['Ӝ']),
+ ('Ӟ', &['ӟ']),
+ ('ӟ', &['Ӟ']),
+ ('Ӡ', &['ӡ']),
+ ('ӡ', &['Ӡ']),
+ ('Ӣ', &['ӣ']),
+ ('ӣ', &['Ӣ']),
+ ('Ӥ', &['ӥ']),
+ ('ӥ', &['Ӥ']),
+ ('Ӧ', &['ӧ']),
+ ('ӧ', &['Ӧ']),
+ ('Ө', &['ө']),
+ ('ө', &['Ө']),
+ ('Ӫ', &['ӫ']),
+ ('ӫ', &['Ӫ']),
+ ('Ӭ', &['ӭ']),
+ ('ӭ', &['Ӭ']),
+ ('Ӯ', &['ӯ']),
+ ('ӯ', &['Ӯ']),
+ ('Ӱ', &['ӱ']),
+ ('ӱ', &['Ӱ']),
+ ('Ӳ', &['ӳ']),
+ ('ӳ', &['Ӳ']),
+ ('Ӵ', &['ӵ']),
+ ('ӵ', &['Ӵ']),
+ ('Ӷ', &['ӷ']),
+ ('ӷ', &['Ӷ']),
+ ('Ӹ', &['ӹ']),
+ ('ӹ', &['Ӹ']),
+ ('Ӻ', &['ӻ']),
+ ('ӻ', &['Ӻ']),
+ ('Ӽ', &['ӽ']),
+ ('ӽ', &['Ӽ']),
+ ('Ӿ', &['ӿ']),
+ ('ӿ', &['Ӿ']),
+ ('Ԁ', &['ԁ']),
+ ('ԁ', &['Ԁ']),
+ ('Ԃ', &['ԃ']),
+ ('ԃ', &['Ԃ']),
+ ('Ԅ', &['ԅ']),
+ ('ԅ', &['Ԅ']),
+ ('Ԇ', &['ԇ']),
+ ('ԇ', &['Ԇ']),
+ ('Ԉ', &['ԉ']),
+ ('ԉ', &['Ԉ']),
+ ('Ԋ', &['ԋ']),
+ ('ԋ', &['Ԋ']),
+ ('Ԍ', &['ԍ']),
+ ('ԍ', &['Ԍ']),
+ ('Ԏ', &['ԏ']),
+ ('ԏ', &['Ԏ']),
+ ('Ԑ', &['ԑ']),
+ ('ԑ', &['Ԑ']),
+ ('Ԓ', &['ԓ']),
+ ('ԓ', &['Ԓ']),
+ ('Ԕ', &['ԕ']),
+ ('ԕ', &['Ԕ']),
+ ('Ԗ', &['ԗ']),
+ ('ԗ', &['Ԗ']),
+ ('Ԙ', &['ԙ']),
+ ('ԙ', &['Ԙ']),
+ ('Ԛ', &['ԛ']),
+ ('ԛ', &['Ԛ']),
+ ('Ԝ', &['ԝ']),
+ ('ԝ', &['Ԝ']),
+ ('Ԟ', &['ԟ']),
+ ('ԟ', &['Ԟ']),
+ ('Ԡ', &['ԡ']),
+ ('ԡ', &['Ԡ']),
+ ('Ԣ', &['ԣ']),
+ ('ԣ', &['Ԣ']),
+ ('Ԥ', &['ԥ']),
+ ('ԥ', &['Ԥ']),
+ ('Ԧ', &['ԧ']),
+ ('ԧ', &['Ԧ']),
+ ('Ԩ', &['ԩ']),
+ ('ԩ', &['Ԩ']),
+ ('Ԫ', &['ԫ']),
+ ('ԫ', &['Ԫ']),
+ ('Ԭ', &['ԭ']),
+ ('ԭ', &['Ԭ']),
+ ('Ԯ', &['ԯ']),
+ ('ԯ', &['Ԯ']),
+ ('Ա', &['ա']),
+ ('Բ', &['բ']),
+ ('Գ', &['գ']),
+ ('Դ', &['դ']),
+ ('Ե', &['ե']),
+ ('Զ', &['զ']),
+ ('Է', &['է']),
+ ('Ը', &['ը']),
+ ('Թ', &['թ']),
+ ('Ժ', &['ժ']),
+ ('Ի', &['ի']),
+ ('Լ', &['լ']),
+ ('Խ', &['խ']),
+ ('Ծ', &['ծ']),
+ ('Կ', &['կ']),
+ ('Հ', &['հ']),
+ ('Ձ', &['ձ']),
+ ('Ղ', &['ղ']),
+ ('Ճ', &['ճ']),
+ ('Մ', &['մ']),
+ ('Յ', &['յ']),
+ ('Ն', &['ն']),
+ ('Շ', &['շ']),
+ ('Ո', &['ո']),
+ ('Չ', &['չ']),
+ ('Պ', &['պ']),
+ ('Ջ', &['ջ']),
+ ('Ռ', &['ռ']),
+ ('Ս', &['ս']),
+ ('Վ', &['վ']),
+ ('Տ', &['տ']),
+ ('Ր', &['ր']),
+ ('Ց', &['ց']),
+ ('Ւ', &['ւ']),
+ ('Փ', &['փ']),
+ ('Ք', &['ք']),
+ ('Օ', &['օ']),
+ ('Ֆ', &['ֆ']),
+ ('ա', &['Ա']),
+ ('բ', &['Բ']),
+ ('գ', &['Գ']),
+ ('դ', &['Դ']),
+ ('ե', &['Ե']),
+ ('զ', &['Զ']),
+ ('է', &['Է']),
+ ('ը', &['Ը']),
+ ('թ', &['Թ']),
+ ('ժ', &['Ժ']),
+ ('ի', &['Ի']),
+ ('լ', &['Լ']),
+ ('խ', &['Խ']),
+ ('ծ', &['Ծ']),
+ ('կ', &['Կ']),
+ ('հ', &['Հ']),
+ ('ձ', &['Ձ']),
+ ('ղ', &['Ղ']),
+ ('ճ', &['Ճ']),
+ ('մ', &['Մ']),
+ ('յ', &['Յ']),
+ ('ն', &['Ն']),
+ ('շ', &['Շ']),
+ ('ո', &['Ո']),
+ ('չ', &['Չ']),
+ ('պ', &['Պ']),
+ ('ջ', &['Ջ']),
+ ('ռ', &['Ռ']),
+ ('ս', &['Ս']),
+ ('վ', &['Վ']),
+ ('տ', &['Տ']),
+ ('ր', &['Ր']),
+ ('ց', &['Ց']),
+ ('ւ', &['Ւ']),
+ ('փ', &['Փ']),
+ ('ք', &['Ք']),
+ ('օ', &['Օ']),
+ ('ֆ', &['Ֆ']),
+ ('Ⴀ', &['ⴀ']),
+ ('Ⴁ', &['ⴁ']),
+ ('Ⴂ', &['ⴂ']),
+ ('Ⴃ', &['ⴃ']),
+ ('Ⴄ', &['ⴄ']),
+ ('Ⴅ', &['ⴅ']),
+ ('Ⴆ', &['ⴆ']),
+ ('Ⴇ', &['ⴇ']),
+ ('Ⴈ', &['ⴈ']),
+ ('Ⴉ', &['ⴉ']),
+ ('Ⴊ', &['ⴊ']),
+ ('Ⴋ', &['ⴋ']),
+ ('Ⴌ', &['ⴌ']),
+ ('Ⴍ', &['ⴍ']),
+ ('Ⴎ', &['ⴎ']),
+ ('Ⴏ', &['ⴏ']),
+ ('Ⴐ', &['ⴐ']),
+ ('Ⴑ', &['ⴑ']),
+ ('Ⴒ', &['ⴒ']),
+ ('Ⴓ', &['ⴓ']),
+ ('Ⴔ', &['ⴔ']),
+ ('Ⴕ', &['ⴕ']),
+ ('Ⴖ', &['ⴖ']),
+ ('Ⴗ', &['ⴗ']),
+ ('Ⴘ', &['ⴘ']),
+ ('Ⴙ', &['ⴙ']),
+ ('Ⴚ', &['ⴚ']),
+ ('Ⴛ', &['ⴛ']),
+ ('Ⴜ', &['ⴜ']),
+ ('Ⴝ', &['ⴝ']),
+ ('Ⴞ', &['ⴞ']),
+ ('Ⴟ', &['ⴟ']),
+ ('Ⴠ', &['ⴠ']),
+ ('Ⴡ', &['ⴡ']),
+ ('Ⴢ', &['ⴢ']),
+ ('Ⴣ', &['ⴣ']),
+ ('Ⴤ', &['ⴤ']),
+ ('Ⴥ', &['ⴥ']),
+ ('Ⴧ', &['ⴧ']),
+ ('Ⴭ', &['ⴭ']),
+ ('ა', &['Ა']),
+ ('ბ', &['Ბ']),
+ ('გ', &['Გ']),
+ ('დ', &['Დ']),
+ ('ე', &['Ე']),
+ ('ვ', &['Ვ']),
+ ('ზ', &['Ზ']),
+ ('თ', &['Თ']),
+ ('ი', &['Ი']),
+ ('კ', &['Კ']),
+ ('ლ', &['Ლ']),
+ ('მ', &['Მ']),
+ ('ნ', &['Ნ']),
+ ('ო', &['Ო']),
+ ('პ', &['Პ']),
+ ('ჟ', &['Ჟ']),
+ ('რ', &['Რ']),
+ ('ს', &['Ს']),
+ ('ტ', &['Ტ']),
+ ('უ', &['Უ']),
+ ('ფ', &['Ფ']),
+ ('ქ', &['Ქ']),
+ ('ღ', &['Ღ']),
+ ('ყ', &['Ყ']),
+ ('შ', &['Შ']),
+ ('ჩ', &['Ჩ']),
+ ('ც', &['Ც']),
+ ('ძ', &['Ძ']),
+ ('წ', &['Წ']),
+ ('ჭ', &['Ჭ']),
+ ('ხ', &['Ხ']),
+ ('ჯ', &['Ჯ']),
+ ('ჰ', &['Ჰ']),
+ ('ჱ', &['Ჱ']),
+ ('ჲ', &['Ჲ']),
+ ('ჳ', &['Ჳ']),
+ ('ჴ', &['Ჴ']),
+ ('ჵ', &['Ჵ']),
+ ('ჶ', &['Ჶ']),
+ ('ჷ', &['Ჷ']),
+ ('ჸ', &['Ჸ']),
+ ('ჹ', &['Ჹ']),
+ ('ჺ', &['Ჺ']),
+ ('ჽ', &['Ჽ']),
+ ('ჾ', &['Ჾ']),
+ ('ჿ', &['Ჿ']),
+ ('Ꭰ', &['ꭰ']),
+ ('Ꭱ', &['ꭱ']),
+ ('Ꭲ', &['ꭲ']),
+ ('Ꭳ', &['ꭳ']),
+ ('Ꭴ', &['ꭴ']),
+ ('Ꭵ', &['ꭵ']),
+ ('Ꭶ', &['ꭶ']),
+ ('Ꭷ', &['ꭷ']),
+ ('Ꭸ', &['ꭸ']),
+ ('Ꭹ', &['ꭹ']),
+ ('Ꭺ', &['ꭺ']),
+ ('Ꭻ', &['ꭻ']),
+ ('Ꭼ', &['ꭼ']),
+ ('Ꭽ', &['ꭽ']),
+ ('Ꭾ', &['ꭾ']),
+ ('Ꭿ', &['ꭿ']),
+ ('Ꮀ', &['ꮀ']),
+ ('Ꮁ', &['ꮁ']),
+ ('Ꮂ', &['ꮂ']),
+ ('Ꮃ', &['ꮃ']),
+ ('Ꮄ', &['ꮄ']),
+ ('Ꮅ', &['ꮅ']),
+ ('Ꮆ', &['ꮆ']),
+ ('Ꮇ', &['ꮇ']),
+ ('Ꮈ', &['ꮈ']),
+ ('Ꮉ', &['ꮉ']),
+ ('Ꮊ', &['ꮊ']),
+ ('Ꮋ', &['ꮋ']),
+ ('Ꮌ', &['ꮌ']),
+ ('Ꮍ', &['ꮍ']),
+ ('Ꮎ', &['ꮎ']),
+ ('Ꮏ', &['ꮏ']),
+ ('Ꮐ', &['ꮐ']),
+ ('Ꮑ', &['ꮑ']),
+ ('Ꮒ', &['ꮒ']),
+ ('Ꮓ', &['ꮓ']),
+ ('Ꮔ', &['ꮔ']),
+ ('Ꮕ', &['ꮕ']),
+ ('Ꮖ', &['ꮖ']),
+ ('Ꮗ', &['ꮗ']),
+ ('Ꮘ', &['ꮘ']),
+ ('Ꮙ', &['ꮙ']),
+ ('Ꮚ', &['ꮚ']),
+ ('Ꮛ', &['ꮛ']),
+ ('Ꮜ', &['ꮜ']),
+ ('Ꮝ', &['ꮝ']),
+ ('Ꮞ', &['ꮞ']),
+ ('Ꮟ', &['ꮟ']),
+ ('Ꮠ', &['ꮠ']),
+ ('Ꮡ', &['ꮡ']),
+ ('Ꮢ', &['ꮢ']),
+ ('Ꮣ', &['ꮣ']),
+ ('Ꮤ', &['ꮤ']),
+ ('Ꮥ', &['ꮥ']),
+ ('Ꮦ', &['ꮦ']),
+ ('Ꮧ', &['ꮧ']),
+ ('Ꮨ', &['ꮨ']),
+ ('Ꮩ', &['ꮩ']),
+ ('Ꮪ', &['ꮪ']),
+ ('Ꮫ', &['ꮫ']),
+ ('Ꮬ', &['ꮬ']),
+ ('Ꮭ', &['ꮭ']),
+ ('Ꮮ', &['ꮮ']),
+ ('Ꮯ', &['ꮯ']),
+ ('Ꮰ', &['ꮰ']),
+ ('Ꮱ', &['ꮱ']),
+ ('Ꮲ', &['ꮲ']),
+ ('Ꮳ', &['ꮳ']),
+ ('Ꮴ', &['ꮴ']),
+ ('Ꮵ', &['ꮵ']),
+ ('Ꮶ', &['ꮶ']),
+ ('Ꮷ', &['ꮷ']),
+ ('Ꮸ', &['ꮸ']),
+ ('Ꮹ', &['ꮹ']),
+ ('Ꮺ', &['ꮺ']),
+ ('Ꮻ', &['ꮻ']),
+ ('Ꮼ', &['ꮼ']),
+ ('Ꮽ', &['ꮽ']),
+ ('Ꮾ', &['ꮾ']),
+ ('Ꮿ', &['ꮿ']),
+ ('Ᏸ', &['ᏸ']),
+ ('Ᏹ', &['ᏹ']),
+ ('Ᏺ', &['ᏺ']),
+ ('Ᏻ', &['ᏻ']),
+ ('Ᏼ', &['ᏼ']),
+ ('Ᏽ', &['ᏽ']),
+ ('ᏸ', &['Ᏸ']),
+ ('ᏹ', &['Ᏹ']),
+ ('ᏺ', &['Ᏺ']),
+ ('ᏻ', &['Ᏻ']),
+ ('ᏼ', &['Ᏼ']),
+ ('ᏽ', &['Ᏽ']),
+ ('ᲀ', &['В', 'в']),
+ ('ᲁ', &['Д', 'д']),
+ ('ᲂ', &['О', 'о']),
+ ('ᲃ', &['С', 'с']),
+ ('ᲄ', &['Т', 'т', 'ᲅ']),
+ ('ᲅ', &['Т', 'т', 'ᲄ']),
+ ('ᲆ', &['Ъ', 'ъ']),
+ ('ᲇ', &['Ѣ', 'ѣ']),
+ ('ᲈ', &['Ꙋ', 'ꙋ']),
+ ('Ა', &['ა']),
+ ('Ბ', &['ბ']),
+ ('Გ', &['გ']),
+ ('Დ', &['დ']),
+ ('Ე', &['ე']),
+ ('Ვ', &['ვ']),
+ ('Ზ', &['ზ']),
+ ('Თ', &['თ']),
+ ('Ი', &['ი']),
+ ('Კ', &['კ']),
+ ('Ლ', &['ლ']),
+ ('Მ', &['მ']),
+ ('Ნ', &['ნ']),
+ ('Ო', &['ო']),
+ ('Პ', &['პ']),
+ ('Ჟ', &['ჟ']),
+ ('Რ', &['რ']),
+ ('Ს', &['ს']),
+ ('Ტ', &['ტ']),
+ ('Უ', &['უ']),
+ ('Ფ', &['ფ']),
+ ('Ქ', &['ქ']),
+ ('Ღ', &['ღ']),
+ ('Ყ', &['ყ']),
+ ('Შ', &['შ']),
+ ('Ჩ', &['ჩ']),
+ ('Ც', &['ც']),
+ ('Ძ', &['ძ']),
+ ('Წ', &['წ']),
+ ('Ჭ', &['ჭ']),
+ ('Ხ', &['ხ']),
+ ('Ჯ', &['ჯ']),
+ ('Ჰ', &['ჰ']),
+ ('Ჱ', &['ჱ']),
+ ('Ჲ', &['ჲ']),
+ ('Ჳ', &['ჳ']),
+ ('Ჴ', &['ჴ']),
+ ('Ჵ', &['ჵ']),
+ ('Ჶ', &['ჶ']),
+ ('Ჷ', &['ჷ']),
+ ('Ჸ', &['ჸ']),
+ ('Ჹ', &['ჹ']),
+ ('Ჺ', &['ჺ']),
+ ('Ჽ', &['ჽ']),
+ ('Ჾ', &['ჾ']),
+ ('Ჿ', &['ჿ']),
+ ('ᵹ', &['Ᵹ']),
+ ('ᵽ', &['Ᵽ']),
+ ('ᶎ', &['Ᶎ']),
+ ('Ḁ', &['ḁ']),
+ ('ḁ', &['Ḁ']),
+ ('Ḃ', &['ḃ']),
+ ('ḃ', &['Ḃ']),
+ ('Ḅ', &['ḅ']),
+ ('ḅ', &['Ḅ']),
+ ('Ḇ', &['ḇ']),
+ ('ḇ', &['Ḇ']),
+ ('Ḉ', &['ḉ']),
+ ('ḉ', &['Ḉ']),
+ ('Ḋ', &['ḋ']),
+ ('ḋ', &['Ḋ']),
+ ('Ḍ', &['ḍ']),
+ ('ḍ', &['Ḍ']),
+ ('Ḏ', &['ḏ']),
+ ('ḏ', &['Ḏ']),
+ ('Ḑ', &['ḑ']),
+ ('ḑ', &['Ḑ']),
+ ('Ḓ', &['ḓ']),
+ ('ḓ', &['Ḓ']),
+ ('Ḕ', &['ḕ']),
+ ('ḕ', &['Ḕ']),
+ ('Ḗ', &['ḗ']),
+ ('ḗ', &['Ḗ']),
+ ('Ḙ', &['ḙ']),
+ ('ḙ', &['Ḙ']),
+ ('Ḛ', &['ḛ']),
+ ('ḛ', &['Ḛ']),
+ ('Ḝ', &['ḝ']),
+ ('ḝ', &['Ḝ']),
+ ('Ḟ', &['ḟ']),
+ ('ḟ', &['Ḟ']),
+ ('Ḡ', &['ḡ']),
+ ('ḡ', &['Ḡ']),
+ ('Ḣ', &['ḣ']),
+ ('ḣ', &['Ḣ']),
+ ('Ḥ', &['ḥ']),
+ ('ḥ', &['Ḥ']),
+ ('Ḧ', &['ḧ']),
+ ('ḧ', &['Ḧ']),
+ ('Ḩ', &['ḩ']),
+ ('ḩ', &['Ḩ']),
+ ('Ḫ', &['ḫ']),
+ ('ḫ', &['Ḫ']),
+ ('Ḭ', &['ḭ']),
+ ('ḭ', &['Ḭ']),
+ ('Ḯ', &['ḯ']),
+ ('ḯ', &['Ḯ']),
+ ('Ḱ', &['ḱ']),
+ ('ḱ', &['Ḱ']),
+ ('Ḳ', &['ḳ']),
+ ('ḳ', &['Ḳ']),
+ ('Ḵ', &['ḵ']),
+ ('ḵ', &['Ḵ']),
+ ('Ḷ', &['ḷ']),
+ ('ḷ', &['Ḷ']),
+ ('Ḹ', &['ḹ']),
+ ('ḹ', &['Ḹ']),
+ ('Ḻ', &['ḻ']),
+ ('ḻ', &['Ḻ']),
+ ('Ḽ', &['ḽ']),
+ ('ḽ', &['Ḽ']),
+ ('Ḿ', &['ḿ']),
+ ('ḿ', &['Ḿ']),
+ ('Ṁ', &['ṁ']),
+ ('ṁ', &['Ṁ']),
+ ('Ṃ', &['ṃ']),
+ ('ṃ', &['Ṃ']),
+ ('Ṅ', &['ṅ']),
+ ('ṅ', &['Ṅ']),
+ ('Ṇ', &['ṇ']),
+ ('ṇ', &['Ṇ']),
+ ('Ṉ', &['ṉ']),
+ ('ṉ', &['Ṉ']),
+ ('Ṋ', &['ṋ']),
+ ('ṋ', &['Ṋ']),
+ ('Ṍ', &['ṍ']),
+ ('ṍ', &['Ṍ']),
+ ('Ṏ', &['ṏ']),
+ ('ṏ', &['Ṏ']),
+ ('Ṑ', &['ṑ']),
+ ('ṑ', &['Ṑ']),
+ ('Ṓ', &['ṓ']),
+ ('ṓ', &['Ṓ']),
+ ('Ṕ', &['ṕ']),
+ ('ṕ', &['Ṕ']),
+ ('Ṗ', &['ṗ']),
+ ('ṗ', &['Ṗ']),
+ ('Ṙ', &['ṙ']),
+ ('ṙ', &['Ṙ']),
+ ('Ṛ', &['ṛ']),
+ ('ṛ', &['Ṛ']),
+ ('Ṝ', &['ṝ']),
+ ('ṝ', &['Ṝ']),
+ ('Ṟ', &['ṟ']),
+ ('ṟ', &['Ṟ']),
+ ('Ṡ', &['ṡ', 'ẛ']),
+ ('ṡ', &['Ṡ', 'ẛ']),
+ ('Ṣ', &['ṣ']),
+ ('ṣ', &['Ṣ']),
+ ('Ṥ', &['ṥ']),
+ ('ṥ', &['Ṥ']),
+ ('Ṧ', &['ṧ']),
+ ('ṧ', &['Ṧ']),
+ ('Ṩ', &['ṩ']),
+ ('ṩ', &['Ṩ']),
+ ('Ṫ', &['ṫ']),
+ ('ṫ', &['Ṫ']),
+ ('Ṭ', &['ṭ']),
+ ('ṭ', &['Ṭ']),
+ ('Ṯ', &['ṯ']),
+ ('ṯ', &['Ṯ']),
+ ('Ṱ', &['ṱ']),
+ ('ṱ', &['Ṱ']),
+ ('Ṳ', &['ṳ']),
+ ('ṳ', &['Ṳ']),
+ ('Ṵ', &['ṵ']),
+ ('ṵ', &['Ṵ']),
+ ('Ṷ', &['ṷ']),
+ ('ṷ', &['Ṷ']),
+ ('Ṹ', &['ṹ']),
+ ('ṹ', &['Ṹ']),
+ ('Ṻ', &['ṻ']),
+ ('ṻ', &['Ṻ']),
+ ('Ṽ', &['ṽ']),
+ ('ṽ', &['Ṽ']),
+ ('Ṿ', &['ṿ']),
+ ('ṿ', &['Ṿ']),
+ ('Ẁ', &['ẁ']),
+ ('ẁ', &['Ẁ']),
+ ('Ẃ', &['ẃ']),
+ ('ẃ', &['Ẃ']),
+ ('Ẅ', &['ẅ']),
+ ('ẅ', &['Ẅ']),
+ ('Ẇ', &['ẇ']),
+ ('ẇ', &['Ẇ']),
+ ('Ẉ', &['ẉ']),
+ ('ẉ', &['Ẉ']),
+ ('Ẋ', &['ẋ']),
+ ('ẋ', &['Ẋ']),
+ ('Ẍ', &['ẍ']),
+ ('ẍ', &['Ẍ']),
+ ('Ẏ', &['ẏ']),
+ ('ẏ', &['Ẏ']),
+ ('Ẑ', &['ẑ']),
+ ('ẑ', &['Ẑ']),
+ ('Ẓ', &['ẓ']),
+ ('ẓ', &['Ẓ']),
+ ('Ẕ', &['ẕ']),
+ ('ẕ', &['Ẕ']),
+ ('ẛ', &['Ṡ', 'ṡ']),
+ ('ẞ', &['ß']),
+ ('Ạ', &['ạ']),
+ ('ạ', &['Ạ']),
+ ('Ả', &['ả']),
+ ('ả', &['Ả']),
+ ('Ấ', &['ấ']),
+ ('ấ', &['Ấ']),
+ ('Ầ', &['ầ']),
+ ('ầ', &['Ầ']),
+ ('Ẩ', &['ẩ']),
+ ('ẩ', &['Ẩ']),
+ ('Ẫ', &['ẫ']),
+ ('ẫ', &['Ẫ']),
+ ('Ậ', &['ậ']),
+ ('ậ', &['Ậ']),
+ ('Ắ', &['ắ']),
+ ('ắ', &['Ắ']),
+ ('Ằ', &['ằ']),
+ ('ằ', &['Ằ']),
+ ('Ẳ', &['ẳ']),
+ ('ẳ', &['Ẳ']),
+ ('Ẵ', &['ẵ']),
+ ('ẵ', &['Ẵ']),
+ ('Ặ', &['ặ']),
+ ('ặ', &['Ặ']),
+ ('Ẹ', &['ẹ']),
+ ('ẹ', &['Ẹ']),
+ ('Ẻ', &['ẻ']),
+ ('ẻ', &['Ẻ']),
+ ('Ẽ', &['ẽ']),
+ ('ẽ', &['Ẽ']),
+ ('Ế', &['ế']),
+ ('ế', &['Ế']),
+ ('Ề', &['ề']),
+ ('ề', &['Ề']),
+ ('Ể', &['ể']),
+ ('ể', &['Ể']),
+ ('Ễ', &['ễ']),
+ ('ễ', &['Ễ']),
+ ('Ệ', &['ệ']),
+ ('ệ', &['Ệ']),
+ ('Ỉ', &['ỉ']),
+ ('ỉ', &['Ỉ']),
+ ('Ị', &['ị']),
+ ('ị', &['Ị']),
+ ('Ọ', &['ọ']),
+ ('ọ', &['Ọ']),
+ ('Ỏ', &['ỏ']),
+ ('ỏ', &['Ỏ']),
+ ('Ố', &['ố']),
+ ('ố', &['Ố']),
+ ('Ồ', &['ồ']),
+ ('ồ', &['Ồ']),
+ ('Ổ', &['ổ']),
+ ('ổ', &['Ổ']),
+ ('Ỗ', &['ỗ']),
+ ('ỗ', &['Ỗ']),
+ ('Ộ', &['ộ']),
+ ('ộ', &['Ộ']),
+ ('Ớ', &['ớ']),
+ ('ớ', &['Ớ']),
+ ('Ờ', &['ờ']),
+ ('ờ', &['Ờ']),
+ ('Ở', &['ở']),
+ ('ở', &['Ở']),
+ ('Ỡ', &['ỡ']),
+ ('ỡ', &['Ỡ']),
+ ('Ợ', &['ợ']),
+ ('ợ', &['Ợ']),
+ ('Ụ', &['ụ']),
+ ('ụ', &['Ụ']),
+ ('Ủ', &['ủ']),
+ ('ủ', &['Ủ']),
+ ('Ứ', &['ứ']),
+ ('ứ', &['Ứ']),
+ ('Ừ', &['ừ']),
+ ('ừ', &['Ừ']),
+ ('Ử', &['ử']),
+ ('ử', &['Ử']),
+ ('Ữ', &['ữ']),
+ ('ữ', &['Ữ']),
+ ('Ự', &['ự']),
+ ('ự', &['Ự']),
+ ('Ỳ', &['ỳ']),
+ ('ỳ', &['Ỳ']),
+ ('Ỵ', &['ỵ']),
+ ('ỵ', &['Ỵ']),
+ ('Ỷ', &['ỷ']),
+ ('ỷ', &['Ỷ']),
+ ('Ỹ', &['ỹ']),
+ ('ỹ', &['Ỹ']),
+ ('Ỻ', &['ỻ']),
+ ('ỻ', &['Ỻ']),
+ ('Ỽ', &['ỽ']),
+ ('ỽ', &['Ỽ']),
+ ('Ỿ', &['ỿ']),
+ ('ỿ', &['Ỿ']),
+ ('ἀ', &['Ἀ']),
+ ('ἁ', &['Ἁ']),
+ ('ἂ', &['Ἂ']),
+ ('ἃ', &['Ἃ']),
+ ('ἄ', &['Ἄ']),
+ ('ἅ', &['Ἅ']),
+ ('ἆ', &['Ἆ']),
+ ('ἇ', &['Ἇ']),
+ ('Ἀ', &['ἀ']),
+ ('Ἁ', &['ἁ']),
+ ('Ἂ', &['ἂ']),
+ ('Ἃ', &['ἃ']),
+ ('Ἄ', &['ἄ']),
+ ('Ἅ', &['ἅ']),
+ ('Ἆ', &['ἆ']),
+ ('Ἇ', &['ἇ']),
+ ('ἐ', &['Ἐ']),
+ ('ἑ', &['Ἑ']),
+ ('ἒ', &['Ἒ']),
+ ('ἓ', &['Ἓ']),
+ ('ἔ', &['Ἔ']),
+ ('ἕ', &['Ἕ']),
+ ('Ἐ', &['ἐ']),
+ ('Ἑ', &['ἑ']),
+ ('Ἒ', &['ἒ']),
+ ('Ἓ', &['ἓ']),
+ ('Ἔ', &['ἔ']),
+ ('Ἕ', &['ἕ']),
+ ('ἠ', &['Ἠ']),
+ ('ἡ', &['Ἡ']),
+ ('ἢ', &['Ἢ']),
+ ('ἣ', &['Ἣ']),
+ ('ἤ', &['Ἤ']),
+ ('ἥ', &['Ἥ']),
+ ('ἦ', &['Ἦ']),
+ ('ἧ', &['Ἧ']),
+ ('Ἠ', &['ἠ']),
+ ('Ἡ', &['ἡ']),
+ ('Ἢ', &['ἢ']),
+ ('Ἣ', &['ἣ']),
+ ('Ἤ', &['ἤ']),
+ ('Ἥ', &['ἥ']),
+ ('Ἦ', &['ἦ']),
+ ('Ἧ', &['ἧ']),
+ ('ἰ', &['Ἰ']),
+ ('ἱ', &['Ἱ']),
+ ('ἲ', &['Ἲ']),
+ ('ἳ', &['Ἳ']),
+ ('ἴ', &['Ἴ']),
+ ('ἵ', &['Ἵ']),
+ ('ἶ', &['Ἶ']),
+ ('ἷ', &['Ἷ']),
+ ('Ἰ', &['ἰ']),
+ ('Ἱ', &['ἱ']),
+ ('Ἲ', &['ἲ']),
+ ('Ἳ', &['ἳ']),
+ ('Ἴ', &['ἴ']),
+ ('Ἵ', &['ἵ']),
+ ('Ἶ', &['ἶ']),
+ ('Ἷ', &['ἷ']),
+ ('ὀ', &['Ὀ']),
+ ('ὁ', &['Ὁ']),
+ ('ὂ', &['Ὂ']),
+ ('ὃ', &['Ὃ']),
+ ('ὄ', &['Ὄ']),
+ ('ὅ', &['Ὅ']),
+ ('Ὀ', &['ὀ']),
+ ('Ὁ', &['ὁ']),
+ ('Ὂ', &['ὂ']),
+ ('Ὃ', &['ὃ']),
+ ('Ὄ', &['ὄ']),
+ ('Ὅ', &['ὅ']),
+ ('ὑ', &['Ὑ']),
+ ('ὓ', &['Ὓ']),
+ ('ὕ', &['Ὕ']),
+ ('ὗ', &['Ὗ']),
+ ('Ὑ', &['ὑ']),
+ ('Ὓ', &['ὓ']),
+ ('Ὕ', &['ὕ']),
+ ('Ὗ', &['ὗ']),
+ ('ὠ', &['Ὠ']),
+ ('ὡ', &['Ὡ']),
+ ('ὢ', &['Ὢ']),
+ ('ὣ', &['Ὣ']),
+ ('ὤ', &['Ὤ']),
+ ('ὥ', &['Ὥ']),
+ ('ὦ', &['Ὦ']),
+ ('ὧ', &['Ὧ']),
+ ('Ὠ', &['ὠ']),
+ ('Ὡ', &['ὡ']),
+ ('Ὢ', &['ὢ']),
+ ('Ὣ', &['ὣ']),
+ ('Ὤ', &['ὤ']),
+ ('Ὥ', &['ὥ']),
+ ('Ὦ', &['ὦ']),
+ ('Ὧ', &['ὧ']),
+ ('ὰ', &['Ὰ']),
+ ('ά', &['Ά']),
+ ('ὲ', &['Ὲ']),
+ ('έ', &['Έ']),
+ ('ὴ', &['Ὴ']),
+ ('ή', &['Ή']),
+ ('ὶ', &['Ὶ']),
+ ('ί', &['Ί']),
+ ('ὸ', &['Ὸ']),
+ ('ό', &['Ό']),
+ ('ὺ', &['Ὺ']),
+ ('ύ', &['Ύ']),
+ ('ὼ', &['Ὼ']),
+ ('ώ', &['Ώ']),
+ ('ᾀ', &['ᾈ']),
+ ('ᾁ', &['ᾉ']),
+ ('ᾂ', &['ᾊ']),
+ ('ᾃ', &['ᾋ']),
+ ('ᾄ', &['ᾌ']),
+ ('ᾅ', &['ᾍ']),
+ ('ᾆ', &['ᾎ']),
+ ('ᾇ', &['ᾏ']),
+ ('ᾈ', &['ᾀ']),
+ ('ᾉ', &['ᾁ']),
+ ('ᾊ', &['ᾂ']),
+ ('ᾋ', &['ᾃ']),
+ ('ᾌ', &['ᾄ']),
+ ('ᾍ', &['ᾅ']),
+ ('ᾎ', &['ᾆ']),
+ ('ᾏ', &['ᾇ']),
+ ('ᾐ', &['ᾘ']),
+ ('ᾑ', &['ᾙ']),
+ ('ᾒ', &['ᾚ']),
+ ('ᾓ', &['ᾛ']),
+ ('ᾔ', &['ᾜ']),
+ ('ᾕ', &['ᾝ']),
+ ('ᾖ', &['ᾞ']),
+ ('ᾗ', &['ᾟ']),
+ ('ᾘ', &['ᾐ']),
+ ('ᾙ', &['ᾑ']),
+ ('ᾚ', &['ᾒ']),
+ ('ᾛ', &['ᾓ']),
+ ('ᾜ', &['ᾔ']),
+ ('ᾝ', &['ᾕ']),
+ ('ᾞ', &['ᾖ']),
+ ('ᾟ', &['ᾗ']),
+ ('ᾠ', &['ᾨ']),
+ ('ᾡ', &['ᾩ']),
+ ('ᾢ', &['ᾪ']),
+ ('ᾣ', &['ᾫ']),
+ ('ᾤ', &['ᾬ']),
+ ('ᾥ', &['ᾭ']),
+ ('ᾦ', &['ᾮ']),
+ ('ᾧ', &['ᾯ']),
+ ('ᾨ', &['ᾠ']),
+ ('ᾩ', &['ᾡ']),
+ ('ᾪ', &['ᾢ']),
+ ('ᾫ', &['ᾣ']),
+ ('ᾬ', &['ᾤ']),
+ ('ᾭ', &['ᾥ']),
+ ('ᾮ', &['ᾦ']),
+ ('ᾯ', &['ᾧ']),
+ ('ᾰ', &['Ᾰ']),
+ ('ᾱ', &['Ᾱ']),
+ ('ᾳ', &['ᾼ']),
+ ('Ᾰ', &['ᾰ']),
+ ('Ᾱ', &['ᾱ']),
+ ('Ὰ', &['ὰ']),
+ ('Ά', &['ά']),
+ ('ᾼ', &['ᾳ']),
+ ('ι', &['\u{345}', 'Ι', 'ι']),
+ ('ῃ', &['ῌ']),
+ ('Ὲ', &['ὲ']),
+ ('Έ', &['έ']),
+ ('Ὴ', &['ὴ']),
+ ('Ή', &['ή']),
+ ('ῌ', &['ῃ']),
+ ('ῐ', &['Ῐ']),
+ ('ῑ', &['Ῑ']),
+ ('Ῐ', &['ῐ']),
+ ('Ῑ', &['ῑ']),
+ ('Ὶ', &['ὶ']),
+ ('Ί', &['ί']),
+ ('ῠ', &['Ῠ']),
+ ('ῡ', &['Ῡ']),
+ ('ῥ', &['Ῥ']),
+ ('Ῠ', &['ῠ']),
+ ('Ῡ', &['ῡ']),
+ ('Ὺ', &['ὺ']),
+ ('Ύ', &['ύ']),
+ ('Ῥ', &['ῥ']),
+ ('ῳ', &['ῼ']),
+ ('Ὸ', &['ὸ']),
+ ('Ό', &['ό']),
+ ('Ὼ', &['ὼ']),
+ ('Ώ', &['ώ']),
+ ('ῼ', &['ῳ']),
+ ('Ω', &['Ω', 'ω']),
+ ('K', &['K', 'k']),
+ ('Å', &['Å', 'å']),
+ ('Ⅎ', &['ⅎ']),
+ ('ⅎ', &['Ⅎ']),
+ ('Ⅰ', &['ⅰ']),
+ ('Ⅱ', &['ⅱ']),
+ ('Ⅲ', &['ⅲ']),
+ ('Ⅳ', &['ⅳ']),
+ ('Ⅴ', &['ⅴ']),
+ ('Ⅵ', &['ⅵ']),
+ ('Ⅶ', &['ⅶ']),
+ ('Ⅷ', &['ⅷ']),
+ ('Ⅸ', &['ⅸ']),
+ ('Ⅹ', &['ⅹ']),
+ ('Ⅺ', &['ⅺ']),
+ ('Ⅻ', &['ⅻ']),
+ ('Ⅼ', &['ⅼ']),
+ ('Ⅽ', &['ⅽ']),
+ ('Ⅾ', &['ⅾ']),
+ ('Ⅿ', &['ⅿ']),
+ ('ⅰ', &['Ⅰ']),
+ ('ⅱ', &['Ⅱ']),
+ ('ⅲ', &['Ⅲ']),
+ ('ⅳ', &['Ⅳ']),
+ ('ⅴ', &['Ⅴ']),
+ ('ⅵ', &['Ⅵ']),
+ ('ⅶ', &['Ⅶ']),
+ ('ⅷ', &['Ⅷ']),
+ ('ⅸ', &['Ⅸ']),
+ ('ⅹ', &['Ⅹ']),
+ ('ⅺ', &['Ⅺ']),
+ ('ⅻ', &['Ⅻ']),
+ ('ⅼ', &['Ⅼ']),
+ ('ⅽ', &['Ⅽ']),
+ ('ⅾ', &['Ⅾ']),
+ ('ⅿ', &['Ⅿ']),
+ ('Ↄ', &['ↄ']),
+ ('ↄ', &['Ↄ']),
+ ('Ⓐ', &['ⓐ']),
+ ('Ⓑ', &['ⓑ']),
+ ('Ⓒ', &['ⓒ']),
+ ('Ⓓ', &['ⓓ']),
+ ('Ⓔ', &['ⓔ']),
+ ('Ⓕ', &['ⓕ']),
+ ('Ⓖ', &['ⓖ']),
+ ('Ⓗ', &['ⓗ']),
+ ('Ⓘ', &['ⓘ']),
+ ('Ⓙ', &['ⓙ']),
+ ('Ⓚ', &['ⓚ']),
+ ('Ⓛ', &['ⓛ']),
+ ('Ⓜ', &['ⓜ']),
+ ('Ⓝ', &['ⓝ']),
+ ('Ⓞ', &['ⓞ']),
+ ('Ⓟ', &['ⓟ']),
+ ('Ⓠ', &['ⓠ']),
+ ('Ⓡ', &['ⓡ']),
+ ('Ⓢ', &['ⓢ']),
+ ('Ⓣ', &['ⓣ']),
+ ('Ⓤ', &['ⓤ']),
+ ('Ⓥ', &['ⓥ']),
+ ('Ⓦ', &['ⓦ']),
+ ('Ⓧ', &['ⓧ']),
+ ('Ⓨ', &['ⓨ']),
+ ('Ⓩ', &['ⓩ']),
+ ('ⓐ', &['Ⓐ']),
+ ('ⓑ', &['Ⓑ']),
+ ('ⓒ', &['Ⓒ']),
+ ('ⓓ', &['Ⓓ']),
+ ('ⓔ', &['Ⓔ']),
+ ('ⓕ', &['Ⓕ']),
+ ('ⓖ', &['Ⓖ']),
+ ('ⓗ', &['Ⓗ']),
+ ('ⓘ', &['Ⓘ']),
+ ('ⓙ', &['Ⓙ']),
+ ('ⓚ', &['Ⓚ']),
+ ('ⓛ', &['Ⓛ']),
+ ('ⓜ', &['Ⓜ']),
+ ('ⓝ', &['Ⓝ']),
+ ('ⓞ', &['Ⓞ']),
+ ('ⓟ', &['Ⓟ']),
+ ('ⓠ', &['Ⓠ']),
+ ('ⓡ', &['Ⓡ']),
+ ('ⓢ', &['Ⓢ']),
+ ('ⓣ', &['Ⓣ']),
+ ('ⓤ', &['Ⓤ']),
+ ('ⓥ', &['Ⓥ']),
+ ('ⓦ', &['Ⓦ']),
+ ('ⓧ', &['Ⓧ']),
+ ('ⓨ', &['Ⓨ']),
+ ('ⓩ', &['Ⓩ']),
+ ('Ⰰ', &['ⰰ']),
+ ('Ⰱ', &['ⰱ']),
+ ('Ⰲ', &['ⰲ']),
+ ('Ⰳ', &['ⰳ']),
+ ('Ⰴ', &['ⰴ']),
+ ('Ⰵ', &['ⰵ']),
+ ('Ⰶ', &['ⰶ']),
+ ('Ⰷ', &['ⰷ']),
+ ('Ⰸ', &['ⰸ']),
+ ('Ⰹ', &['ⰹ']),
+ ('Ⰺ', &['ⰺ']),
+ ('Ⰻ', &['ⰻ']),
+ ('Ⰼ', &['ⰼ']),
+ ('Ⰽ', &['ⰽ']),
+ ('Ⰾ', &['ⰾ']),
+ ('Ⰿ', &['ⰿ']),
+ ('Ⱀ', &['ⱀ']),
+ ('Ⱁ', &['ⱁ']),
+ ('Ⱂ', &['ⱂ']),
+ ('Ⱃ', &['ⱃ']),
+ ('Ⱄ', &['ⱄ']),
+ ('Ⱅ', &['ⱅ']),
+ ('Ⱆ', &['ⱆ']),
+ ('Ⱇ', &['ⱇ']),
+ ('Ⱈ', &['ⱈ']),
+ ('Ⱉ', &['ⱉ']),
+ ('Ⱊ', &['ⱊ']),
+ ('Ⱋ', &['ⱋ']),
+ ('Ⱌ', &['ⱌ']),
+ ('Ⱍ', &['ⱍ']),
+ ('Ⱎ', &['ⱎ']),
+ ('Ⱏ', &['ⱏ']),
+ ('Ⱐ', &['ⱐ']),
+ ('Ⱑ', &['ⱑ']),
+ ('Ⱒ', &['ⱒ']),
+ ('Ⱓ', &['ⱓ']),
+ ('Ⱔ', &['ⱔ']),
+ ('Ⱕ', &['ⱕ']),
+ ('Ⱖ', &['ⱖ']),
+ ('Ⱗ', &['ⱗ']),
+ ('Ⱘ', &['ⱘ']),
+ ('Ⱙ', &['ⱙ']),
+ ('Ⱚ', &['ⱚ']),
+ ('Ⱛ', &['ⱛ']),
+ ('Ⱜ', &['ⱜ']),
+ ('Ⱝ', &['ⱝ']),
+ ('Ⱞ', &['ⱞ']),
+ ('Ⱟ', &['ⱟ']),
+ ('ⰰ', &['Ⰰ']),
+ ('ⰱ', &['Ⰱ']),
+ ('ⰲ', &['Ⰲ']),
+ ('ⰳ', &['Ⰳ']),
+ ('ⰴ', &['Ⰴ']),
+ ('ⰵ', &['Ⰵ']),
+ ('ⰶ', &['Ⰶ']),
+ ('ⰷ', &['Ⰷ']),
+ ('ⰸ', &['Ⰸ']),
+ ('ⰹ', &['Ⰹ']),
+ ('ⰺ', &['Ⰺ']),
+ ('ⰻ', &['Ⰻ']),
+ ('ⰼ', &['Ⰼ']),
+ ('ⰽ', &['Ⰽ']),
+ ('ⰾ', &['Ⰾ']),
+ ('ⰿ', &['Ⰿ']),
+ ('ⱀ', &['Ⱀ']),
+ ('ⱁ', &['Ⱁ']),
+ ('ⱂ', &['Ⱂ']),
+ ('ⱃ', &['Ⱃ']),
+ ('ⱄ', &['Ⱄ']),
+ ('ⱅ', &['Ⱅ']),
+ ('ⱆ', &['Ⱆ']),
+ ('ⱇ', &['Ⱇ']),
+ ('ⱈ', &['Ⱈ']),
+ ('ⱉ', &['Ⱉ']),
+ ('ⱊ', &['Ⱊ']),
+ ('ⱋ', &['Ⱋ']),
+ ('ⱌ', &['Ⱌ']),
+ ('ⱍ', &['Ⱍ']),
+ ('ⱎ', &['Ⱎ']),
+ ('ⱏ', &['Ⱏ']),
+ ('ⱐ', &['Ⱐ']),
+ ('ⱑ', &['Ⱑ']),
+ ('ⱒ', &['Ⱒ']),
+ ('ⱓ', &['Ⱓ']),
+ ('ⱔ', &['Ⱔ']),
+ ('ⱕ', &['Ⱕ']),
+ ('ⱖ', &['Ⱖ']),
+ ('ⱗ', &['Ⱗ']),
+ ('ⱘ', &['Ⱘ']),
+ ('ⱙ', &['Ⱙ']),
+ ('ⱚ', &['Ⱚ']),
+ ('ⱛ', &['Ⱛ']),
+ ('ⱜ', &['Ⱜ']),
+ ('ⱝ', &['Ⱝ']),
+ ('ⱞ', &['Ⱞ']),
+ ('ⱟ', &['Ⱟ']),
+ ('Ⱡ', &['ⱡ']),
+ ('ⱡ', &['Ⱡ']),
+ ('Ɫ', &['ɫ']),
+ ('Ᵽ', &['ᵽ']),
+ ('Ɽ', &['ɽ']),
+ ('ⱥ', &['Ⱥ']),
+ ('ⱦ', &['Ⱦ']),
+ ('Ⱨ', &['ⱨ']),
+ ('ⱨ', &['Ⱨ']),
+ ('Ⱪ', &['ⱪ']),
+ ('ⱪ', &['Ⱪ']),
+ ('Ⱬ', &['ⱬ']),
+ ('ⱬ', &['Ⱬ']),
+ ('Ɑ', &['ɑ']),
+ ('Ɱ', &['ɱ']),
+ ('Ɐ', &['ɐ']),
+ ('Ɒ', &['ɒ']),
+ ('Ⱳ', &['ⱳ']),
+ ('ⱳ', &['Ⱳ']),
+ ('Ⱶ', &['ⱶ']),
+ ('ⱶ', &['Ⱶ']),
+ ('Ȿ', &['ȿ']),
+ ('Ɀ', &['ɀ']),
+ ('Ⲁ', &['ⲁ']),
+ ('ⲁ', &['Ⲁ']),
+ ('Ⲃ', &['ⲃ']),
+ ('ⲃ', &['Ⲃ']),
+ ('Ⲅ', &['ⲅ']),
+ ('ⲅ', &['Ⲅ']),
+ ('Ⲇ', &['ⲇ']),
+ ('ⲇ', &['Ⲇ']),
+ ('Ⲉ', &['ⲉ']),
+ ('ⲉ', &['Ⲉ']),
+ ('Ⲋ', &['ⲋ']),
+ ('ⲋ', &['Ⲋ']),
+ ('Ⲍ', &['ⲍ']),
+ ('ⲍ', &['Ⲍ']),
+ ('Ⲏ', &['ⲏ']),
+ ('ⲏ', &['Ⲏ']),
+ ('Ⲑ', &['ⲑ']),
+ ('ⲑ', &['Ⲑ']),
+ ('Ⲓ', &['ⲓ']),
+ ('ⲓ', &['Ⲓ']),
+ ('Ⲕ', &['ⲕ']),
+ ('ⲕ', &['Ⲕ']),
+ ('Ⲗ', &['ⲗ']),
+ ('ⲗ', &['Ⲗ']),
+ ('Ⲙ', &['ⲙ']),
+ ('ⲙ', &['Ⲙ']),
+ ('Ⲛ', &['ⲛ']),
+ ('ⲛ', &['Ⲛ']),
+ ('Ⲝ', &['ⲝ']),
+ ('ⲝ', &['Ⲝ']),
+ ('Ⲟ', &['ⲟ']),
+ ('ⲟ', &['Ⲟ']),
+ ('Ⲡ', &['ⲡ']),
+ ('ⲡ', &['Ⲡ']),
+ ('Ⲣ', &['ⲣ']),
+ ('ⲣ', &['Ⲣ']),
+ ('Ⲥ', &['ⲥ']),
+ ('ⲥ', &['Ⲥ']),
+ ('Ⲧ', &['ⲧ']),
+ ('ⲧ', &['Ⲧ']),
+ ('Ⲩ', &['ⲩ']),
+ ('ⲩ', &['Ⲩ']),
+ ('Ⲫ', &['ⲫ']),
+ ('ⲫ', &['Ⲫ']),
+ ('Ⲭ', &['ⲭ']),
+ ('ⲭ', &['Ⲭ']),
+ ('Ⲯ', &['ⲯ']),
+ ('ⲯ', &['Ⲯ']),
+ ('Ⲱ', &['ⲱ']),
+ ('ⲱ', &['Ⲱ']),
+ ('Ⲳ', &['ⲳ']),
+ ('ⲳ', &['Ⲳ']),
+ ('Ⲵ', &['ⲵ']),
+ ('ⲵ', &['Ⲵ']),
+ ('Ⲷ', &['ⲷ']),
+ ('ⲷ', &['Ⲷ']),
+ ('Ⲹ', &['ⲹ']),
+ ('ⲹ', &['Ⲹ']),
+ ('Ⲻ', &['ⲻ']),
+ ('ⲻ', &['Ⲻ']),
+ ('Ⲽ', &['ⲽ']),
+ ('ⲽ', &['Ⲽ']),
+ ('Ⲿ', &['ⲿ']),
+ ('ⲿ', &['Ⲿ']),
+ ('Ⳁ', &['ⳁ']),
+ ('ⳁ', &['Ⳁ']),
+ ('Ⳃ', &['ⳃ']),
+ ('ⳃ', &['Ⳃ']),
+ ('Ⳅ', &['ⳅ']),
+ ('ⳅ', &['Ⳅ']),
+ ('Ⳇ', &['ⳇ']),
+ ('ⳇ', &['Ⳇ']),
+ ('Ⳉ', &['ⳉ']),
+ ('ⳉ', &['Ⳉ']),
+ ('Ⳋ', &['ⳋ']),
+ ('ⳋ', &['Ⳋ']),
+ ('Ⳍ', &['ⳍ']),
+ ('ⳍ', &['Ⳍ']),
+ ('Ⳏ', &['ⳏ']),
+ ('ⳏ', &['Ⳏ']),
+ ('Ⳑ', &['ⳑ']),
+ ('ⳑ', &['Ⳑ']),
+ ('Ⳓ', &['ⳓ']),
+ ('ⳓ', &['Ⳓ']),
+ ('Ⳕ', &['ⳕ']),
+ ('ⳕ', &['Ⳕ']),
+ ('Ⳗ', &['ⳗ']),
+ ('ⳗ', &['Ⳗ']),
+ ('Ⳙ', &['ⳙ']),
+ ('ⳙ', &['Ⳙ']),
+ ('Ⳛ', &['ⳛ']),
+ ('ⳛ', &['Ⳛ']),
+ ('Ⳝ', &['ⳝ']),
+ ('ⳝ', &['Ⳝ']),
+ ('Ⳟ', &['ⳟ']),
+ ('ⳟ', &['Ⳟ']),
+ ('Ⳡ', &['ⳡ']),
+ ('ⳡ', &['Ⳡ']),
+ ('Ⳣ', &['ⳣ']),
+ ('ⳣ', &['Ⳣ']),
+ ('Ⳬ', &['ⳬ']),
+ ('ⳬ', &['Ⳬ']),
+ ('Ⳮ', &['ⳮ']),
+ ('ⳮ', &['Ⳮ']),
+ ('Ⳳ', &['ⳳ']),
+ ('ⳳ', &['Ⳳ']),
+ ('ⴀ', &['Ⴀ']),
+ ('ⴁ', &['Ⴁ']),
+ ('ⴂ', &['Ⴂ']),
+ ('ⴃ', &['Ⴃ']),
+ ('ⴄ', &['Ⴄ']),
+ ('ⴅ', &['Ⴅ']),
+ ('ⴆ', &['Ⴆ']),
+ ('ⴇ', &['Ⴇ']),
+ ('ⴈ', &['Ⴈ']),
+ ('ⴉ', &['Ⴉ']),
+ ('ⴊ', &['Ⴊ']),
+ ('ⴋ', &['Ⴋ']),
+ ('ⴌ', &['Ⴌ']),
+ ('ⴍ', &['Ⴍ']),
+ ('ⴎ', &['Ⴎ']),
+ ('ⴏ', &['Ⴏ']),
+ ('ⴐ', &['Ⴐ']),
+ ('ⴑ', &['Ⴑ']),
+ ('ⴒ', &['Ⴒ']),
+ ('ⴓ', &['Ⴓ']),
+ ('ⴔ', &['Ⴔ']),
+ ('ⴕ', &['Ⴕ']),
+ ('ⴖ', &['Ⴖ']),
+ ('ⴗ', &['Ⴗ']),
+ ('ⴘ', &['Ⴘ']),
+ ('ⴙ', &['Ⴙ']),
+ ('ⴚ', &['Ⴚ']),
+ ('ⴛ', &['Ⴛ']),
+ ('ⴜ', &['Ⴜ']),
+ ('ⴝ', &['Ⴝ']),
+ ('ⴞ', &['Ⴞ']),
+ ('ⴟ', &['Ⴟ']),
+ ('ⴠ', &['Ⴠ']),
+ ('ⴡ', &['Ⴡ']),
+ ('ⴢ', &['Ⴢ']),
+ ('ⴣ', &['Ⴣ']),
+ ('ⴤ', &['Ⴤ']),
+ ('ⴥ', &['Ⴥ']),
+ ('ⴧ', &['Ⴧ']),
+ ('ⴭ', &['Ⴭ']),
+ ('Ꙁ', &['ꙁ']),
+ ('ꙁ', &['Ꙁ']),
+ ('Ꙃ', &['ꙃ']),
+ ('ꙃ', &['Ꙃ']),
+ ('Ꙅ', &['ꙅ']),
+ ('ꙅ', &['Ꙅ']),
+ ('Ꙇ', &['ꙇ']),
+ ('ꙇ', &['Ꙇ']),
+ ('Ꙉ', &['ꙉ']),
+ ('ꙉ', &['Ꙉ']),
+ ('Ꙋ', &['ᲈ', 'ꙋ']),
+ ('ꙋ', &['ᲈ', 'Ꙋ']),
+ ('Ꙍ', &['ꙍ']),
+ ('ꙍ', &['Ꙍ']),
+ ('Ꙏ', &['ꙏ']),
+ ('ꙏ', &['Ꙏ']),
+ ('Ꙑ', &['ꙑ']),
+ ('ꙑ', &['Ꙑ']),
+ ('Ꙓ', &['ꙓ']),
+ ('ꙓ', &['Ꙓ']),
+ ('Ꙕ', &['ꙕ']),
+ ('ꙕ', &['Ꙕ']),
+ ('Ꙗ', &['ꙗ']),
+ ('ꙗ', &['Ꙗ']),
+ ('Ꙙ', &['ꙙ']),
+ ('ꙙ', &['Ꙙ']),
+ ('Ꙛ', &['ꙛ']),
+ ('ꙛ', &['Ꙛ']),
+ ('Ꙝ', &['ꙝ']),
+ ('ꙝ', &['Ꙝ']),
+ ('Ꙟ', &['ꙟ']),
+ ('ꙟ', &['Ꙟ']),
+ ('Ꙡ', &['ꙡ']),
+ ('ꙡ', &['Ꙡ']),
+ ('Ꙣ', &['ꙣ']),
+ ('ꙣ', &['Ꙣ']),
+ ('Ꙥ', &['ꙥ']),
+ ('ꙥ', &['Ꙥ']),
+ ('Ꙧ', &['ꙧ']),
+ ('ꙧ', &['Ꙧ']),
+ ('Ꙩ', &['ꙩ']),
+ ('ꙩ', &['Ꙩ']),
+ ('Ꙫ', &['ꙫ']),
+ ('ꙫ', &['Ꙫ']),
+ ('Ꙭ', &['ꙭ']),
+ ('ꙭ', &['Ꙭ']),
+ ('Ꚁ', &['ꚁ']),
+ ('ꚁ', &['Ꚁ']),
+ ('Ꚃ', &['ꚃ']),
+ ('ꚃ', &['Ꚃ']),
+ ('Ꚅ', &['ꚅ']),
+ ('ꚅ', &['Ꚅ']),
+ ('Ꚇ', &['ꚇ']),
+ ('ꚇ', &['Ꚇ']),
+ ('Ꚉ', &['ꚉ']),
+ ('ꚉ', &['Ꚉ']),
+ ('Ꚋ', &['ꚋ']),
+ ('ꚋ', &['Ꚋ']),
+ ('Ꚍ', &['ꚍ']),
+ ('ꚍ', &['Ꚍ']),
+ ('Ꚏ', &['ꚏ']),
+ ('ꚏ', &['Ꚏ']),
+ ('Ꚑ', &['ꚑ']),
+ ('ꚑ', &['Ꚑ']),
+ ('Ꚓ', &['ꚓ']),
+ ('ꚓ', &['Ꚓ']),
+ ('Ꚕ', &['ꚕ']),
+ ('ꚕ', &['Ꚕ']),
+ ('Ꚗ', &['ꚗ']),
+ ('ꚗ', &['Ꚗ']),
+ ('Ꚙ', &['ꚙ']),
+ ('ꚙ', &['Ꚙ']),
+ ('Ꚛ', &['ꚛ']),
+ ('ꚛ', &['Ꚛ']),
+ ('Ꜣ', &['ꜣ']),
+ ('ꜣ', &['Ꜣ']),
+ ('Ꜥ', &['ꜥ']),
+ ('ꜥ', &['Ꜥ']),
+ ('Ꜧ', &['ꜧ']),
+ ('ꜧ', &['Ꜧ']),
+ ('Ꜩ', &['ꜩ']),
+ ('ꜩ', &['Ꜩ']),
+ ('Ꜫ', &['ꜫ']),
+ ('ꜫ', &['Ꜫ']),
+ ('Ꜭ', &['ꜭ']),
+ ('ꜭ', &['Ꜭ']),
+ ('Ꜯ', &['ꜯ']),
+ ('ꜯ', &['Ꜯ']),
+ ('Ꜳ', &['ꜳ']),
+ ('ꜳ', &['Ꜳ']),
+ ('Ꜵ', &['ꜵ']),
+ ('ꜵ', &['Ꜵ']),
+ ('Ꜷ', &['ꜷ']),
+ ('ꜷ', &['Ꜷ']),
+ ('Ꜹ', &['ꜹ']),
+ ('ꜹ', &['Ꜹ']),
+ ('Ꜻ', &['ꜻ']),
+ ('ꜻ', &['Ꜻ']),
+ ('Ꜽ', &['ꜽ']),
+ ('ꜽ', &['Ꜽ']),
+ ('Ꜿ', &['ꜿ']),
+ ('ꜿ', &['Ꜿ']),
+ ('Ꝁ', &['ꝁ']),
+ ('ꝁ', &['Ꝁ']),
+ ('Ꝃ', &['ꝃ']),
+ ('ꝃ', &['Ꝃ']),
+ ('Ꝅ', &['ꝅ']),
+ ('ꝅ', &['Ꝅ']),
+ ('Ꝇ', &['ꝇ']),
+ ('ꝇ', &['Ꝇ']),
+ ('Ꝉ', &['ꝉ']),
+ ('ꝉ', &['Ꝉ']),
+ ('Ꝋ', &['ꝋ']),
+ ('ꝋ', &['Ꝋ']),
+ ('Ꝍ', &['ꝍ']),
+ ('ꝍ', &['Ꝍ']),
+ ('Ꝏ', &['ꝏ']),
+ ('ꝏ', &['Ꝏ']),
+ ('Ꝑ', &['ꝑ']),
+ ('ꝑ', &['Ꝑ']),
+ ('Ꝓ', &['ꝓ']),
+ ('ꝓ', &['Ꝓ']),
+ ('Ꝕ', &['ꝕ']),
+ ('ꝕ', &['Ꝕ']),
+ ('Ꝗ', &['ꝗ']),
+ ('ꝗ', &['Ꝗ']),
+ ('Ꝙ', &['ꝙ']),
+ ('ꝙ', &['Ꝙ']),
+ ('Ꝛ', &['ꝛ']),
+ ('ꝛ', &['Ꝛ']),
+ ('Ꝝ', &['ꝝ']),
+ ('ꝝ', &['Ꝝ']),
+ ('Ꝟ', &['ꝟ']),
+ ('ꝟ', &['Ꝟ']),
+ ('Ꝡ', &['ꝡ']),
+ ('ꝡ', &['Ꝡ']),
+ ('Ꝣ', &['ꝣ']),
+ ('ꝣ', &['Ꝣ']),
+ ('Ꝥ', &['ꝥ']),
+ ('ꝥ', &['Ꝥ']),
+ ('Ꝧ', &['ꝧ']),
+ ('ꝧ', &['Ꝧ']),
+ ('Ꝩ', &['ꝩ']),
+ ('ꝩ', &['Ꝩ']),
+ ('Ꝫ', &['ꝫ']),
+ ('ꝫ', &['Ꝫ']),
+ ('Ꝭ', &['ꝭ']),
+ ('ꝭ', &['Ꝭ']),
+ ('Ꝯ', &['ꝯ']),
+ ('ꝯ', &['Ꝯ']),
+ ('Ꝺ', &['ꝺ']),
+ ('ꝺ', &['Ꝺ']),
+ ('Ꝼ', &['ꝼ']),
+ ('ꝼ', &['Ꝼ']),
+ ('Ᵹ', &['ᵹ']),
+ ('Ꝿ', &['ꝿ']),
+ ('ꝿ', &['Ꝿ']),
+ ('Ꞁ', &['ꞁ']),
+ ('ꞁ', &['Ꞁ']),
+ ('Ꞃ', &['ꞃ']),
+ ('ꞃ', &['Ꞃ']),
+ ('Ꞅ', &['ꞅ']),
+ ('ꞅ', &['Ꞅ']),
+ ('Ꞇ', &['ꞇ']),
+ ('ꞇ', &['Ꞇ']),
+ ('Ꞌ', &['ꞌ']),
+ ('ꞌ', &['Ꞌ']),
+ ('Ɥ', &['ɥ']),
+ ('Ꞑ', &['ꞑ']),
+ ('ꞑ', &['Ꞑ']),
+ ('Ꞓ', &['ꞓ']),
+ ('ꞓ', &['Ꞓ']),
+ ('ꞔ', &['Ꞔ']),
+ ('Ꞗ', &['ꞗ']),
+ ('ꞗ', &['Ꞗ']),
+ ('Ꞙ', &['ꞙ']),
+ ('ꞙ', &['Ꞙ']),
+ ('Ꞛ', &['ꞛ']),
+ ('ꞛ', &['Ꞛ']),
+ ('Ꞝ', &['ꞝ']),
+ ('ꞝ', &['Ꞝ']),
+ ('Ꞟ', &['ꞟ']),
+ ('ꞟ', &['Ꞟ']),
+ ('Ꞡ', &['ꞡ']),
+ ('ꞡ', &['Ꞡ']),
+ ('Ꞣ', &['ꞣ']),
+ ('ꞣ', &['Ꞣ']),
+ ('Ꞥ', &['ꞥ']),
+ ('ꞥ', &['Ꞥ']),
+ ('Ꞧ', &['ꞧ']),
+ ('ꞧ', &['Ꞧ']),
+ ('Ꞩ', &['ꞩ']),
+ ('ꞩ', &['Ꞩ']),
+ ('Ɦ', &['ɦ']),
+ ('Ɜ', &['ɜ']),
+ ('Ɡ', &['ɡ']),
+ ('Ɬ', &['ɬ']),
+ ('Ɪ', &['ɪ']),
+ ('Ʞ', &['ʞ']),
+ ('Ʇ', &['ʇ']),
+ ('Ʝ', &['ʝ']),
+ ('Ꭓ', &['ꭓ']),
+ ('Ꞵ', &['ꞵ']),
+ ('ꞵ', &['Ꞵ']),
+ ('Ꞷ', &['ꞷ']),
+ ('ꞷ', &['Ꞷ']),
+ ('Ꞹ', &['ꞹ']),
+ ('ꞹ', &['Ꞹ']),
+ ('Ꞻ', &['ꞻ']),
+ ('ꞻ', &['Ꞻ']),
+ ('Ꞽ', &['ꞽ']),
+ ('ꞽ', &['Ꞽ']),
+ ('Ꞿ', &['ꞿ']),
+ ('ꞿ', &['Ꞿ']),
+ ('Ꟁ', &['ꟁ']),
+ ('ꟁ', &['Ꟁ']),
+ ('Ꟃ', &['ꟃ']),
+ ('ꟃ', &['Ꟃ']),
+ ('Ꞔ', &['ꞔ']),
+ ('Ʂ', &['ʂ']),
+ ('Ᶎ', &['ᶎ']),
+ ('Ꟈ', &['ꟈ']),
+ ('ꟈ', &['Ꟈ']),
+ ('Ꟊ', &['ꟊ']),
+ ('ꟊ', &['Ꟊ']),
+ ('Ꟑ', &['ꟑ']),
+ ('ꟑ', &['Ꟑ']),
+ ('Ꟗ', &['ꟗ']),
+ ('ꟗ', &['Ꟗ']),
+ ('Ꟙ', &['ꟙ']),
+ ('ꟙ', &['Ꟙ']),
+ ('Ꟶ', &['ꟶ']),
+ ('ꟶ', &['Ꟶ']),
+ ('ꭓ', &['Ꭓ']),
+ ('ꭰ', &['Ꭰ']),
+ ('ꭱ', &['Ꭱ']),
+ ('ꭲ', &['Ꭲ']),
+ ('ꭳ', &['Ꭳ']),
+ ('ꭴ', &['Ꭴ']),
+ ('ꭵ', &['Ꭵ']),
+ ('ꭶ', &['Ꭶ']),
+ ('ꭷ', &['Ꭷ']),
+ ('ꭸ', &['Ꭸ']),
+ ('ꭹ', &['Ꭹ']),
+ ('ꭺ', &['Ꭺ']),
+ ('ꭻ', &['Ꭻ']),
+ ('ꭼ', &['Ꭼ']),
+ ('ꭽ', &['Ꭽ']),
+ ('ꭾ', &['Ꭾ']),
+ ('ꭿ', &['Ꭿ']),
+ ('ꮀ', &['Ꮀ']),
+ ('ꮁ', &['Ꮁ']),
+ ('ꮂ', &['Ꮂ']),
+ ('ꮃ', &['Ꮃ']),
+ ('ꮄ', &['Ꮄ']),
+ ('ꮅ', &['Ꮅ']),
+ ('ꮆ', &['Ꮆ']),
+ ('ꮇ', &['Ꮇ']),
+ ('ꮈ', &['Ꮈ']),
+ ('ꮉ', &['Ꮉ']),
+ ('ꮊ', &['Ꮊ']),
+ ('ꮋ', &['Ꮋ']),
+ ('ꮌ', &['Ꮌ']),
+ ('ꮍ', &['Ꮍ']),
+ ('ꮎ', &['Ꮎ']),
+ ('ꮏ', &['Ꮏ']),
+ ('ꮐ', &['Ꮐ']),
+ ('ꮑ', &['Ꮑ']),
+ ('ꮒ', &['Ꮒ']),
+ ('ꮓ', &['Ꮓ']),
+ ('ꮔ', &['Ꮔ']),
+ ('ꮕ', &['Ꮕ']),
+ ('ꮖ', &['Ꮖ']),
+ ('ꮗ', &['Ꮗ']),
+ ('ꮘ', &['Ꮘ']),
+ ('ꮙ', &['Ꮙ']),
+ ('ꮚ', &['Ꮚ']),
+ ('ꮛ', &['Ꮛ']),
+ ('ꮜ', &['Ꮜ']),
+ ('ꮝ', &['Ꮝ']),
+ ('ꮞ', &['Ꮞ']),
+ ('ꮟ', &['Ꮟ']),
+ ('ꮠ', &['Ꮠ']),
+ ('ꮡ', &['Ꮡ']),
+ ('ꮢ', &['Ꮢ']),
+ ('ꮣ', &['Ꮣ']),
+ ('ꮤ', &['Ꮤ']),
+ ('ꮥ', &['Ꮥ']),
+ ('ꮦ', &['Ꮦ']),
+ ('ꮧ', &['Ꮧ']),
+ ('ꮨ', &['Ꮨ']),
+ ('ꮩ', &['Ꮩ']),
+ ('ꮪ', &['Ꮪ']),
+ ('ꮫ', &['Ꮫ']),
+ ('ꮬ', &['Ꮬ']),
+ ('ꮭ', &['Ꮭ']),
+ ('ꮮ', &['Ꮮ']),
+ ('ꮯ', &['Ꮯ']),
+ ('ꮰ', &['Ꮰ']),
+ ('ꮱ', &['Ꮱ']),
+ ('ꮲ', &['Ꮲ']),
+ ('ꮳ', &['Ꮳ']),
+ ('ꮴ', &['Ꮴ']),
+ ('ꮵ', &['Ꮵ']),
+ ('ꮶ', &['Ꮶ']),
+ ('ꮷ', &['Ꮷ']),
+ ('ꮸ', &['Ꮸ']),
+ ('ꮹ', &['Ꮹ']),
+ ('ꮺ', &['Ꮺ']),
+ ('ꮻ', &['Ꮻ']),
+ ('ꮼ', &['Ꮼ']),
+ ('ꮽ', &['Ꮽ']),
+ ('ꮾ', &['Ꮾ']),
+ ('ꮿ', &['Ꮿ']),
+ ('A', &['a']),
+ ('B', &['b']),
+ ('C', &['c']),
+ ('D', &['d']),
+ ('E', &['e']),
+ ('F', &['f']),
+ ('G', &['g']),
+ ('H', &['h']),
+ ('I', &['i']),
+ ('J', &['j']),
+ ('K', &['k']),
+ ('L', &['l']),
+ ('M', &['m']),
+ ('N', &['n']),
+ ('O', &['o']),
+ ('P', &['p']),
+ ('Q', &['q']),
+ ('R', &['r']),
+ ('S', &['s']),
+ ('T', &['t']),
+ ('U', &['u']),
+ ('V', &['v']),
+ ('W', &['w']),
+ ('X', &['x']),
+ ('Y', &['y']),
+ ('Z', &['z']),
+ ('a', &['A']),
+ ('b', &['B']),
+ ('c', &['C']),
+ ('d', &['D']),
+ ('e', &['E']),
+ ('f', &['F']),
+ ('g', &['G']),
+ ('h', &['H']),
+ ('i', &['I']),
+ ('j', &['J']),
+ ('k', &['K']),
+ ('l', &['L']),
+ ('m', &['M']),
+ ('n', &['N']),
+ ('o', &['O']),
+ ('p', &['P']),
+ ('q', &['Q']),
+ ('r', &['R']),
+ ('s', &['S']),
+ ('t', &['T']),
+ ('u', &['U']),
+ ('v', &['V']),
+ ('w', &['W']),
+ ('x', &['X']),
+ ('y', &['Y']),
+ ('z', &['Z']),
+ ('𐐀', &['𐐨']),
+ ('𐐁', &['𐐩']),
+ ('𐐂', &['𐐪']),
+ ('𐐃', &['𐐫']),
+ ('𐐄', &['𐐬']),
+ ('𐐅', &['𐐭']),
+ ('𐐆', &['𐐮']),
+ ('𐐇', &['𐐯']),
+ ('𐐈', &['𐐰']),
+ ('𐐉', &['𐐱']),
+ ('𐐊', &['𐐲']),
+ ('𐐋', &['𐐳']),
+ ('𐐌', &['𐐴']),
+ ('𐐍', &['𐐵']),
+ ('𐐎', &['𐐶']),
+ ('𐐏', &['𐐷']),
+ ('𐐐', &['𐐸']),
+ ('𐐑', &['𐐹']),
+ ('𐐒', &['𐐺']),
+ ('𐐓', &['𐐻']),
+ ('𐐔', &['𐐼']),
+ ('𐐕', &['𐐽']),
+ ('𐐖', &['𐐾']),
+ ('𐐗', &['𐐿']),
+ ('𐐘', &['𐑀']),
+ ('𐐙', &['𐑁']),
+ ('𐐚', &['𐑂']),
+ ('𐐛', &['𐑃']),
+ ('𐐜', &['𐑄']),
+ ('𐐝', &['𐑅']),
+ ('𐐞', &['𐑆']),
+ ('𐐟', &['𐑇']),
+ ('𐐠', &['𐑈']),
+ ('𐐡', &['𐑉']),
+ ('𐐢', &['𐑊']),
+ ('𐐣', &['𐑋']),
+ ('𐐤', &['𐑌']),
+ ('𐐥', &['𐑍']),
+ ('𐐦', &['𐑎']),
+ ('𐐧', &['𐑏']),
+ ('𐐨', &['𐐀']),
+ ('𐐩', &['𐐁']),
+ ('𐐪', &['𐐂']),
+ ('𐐫', &['𐐃']),
+ ('𐐬', &['𐐄']),
+ ('𐐭', &['𐐅']),
+ ('𐐮', &['𐐆']),
+ ('𐐯', &['𐐇']),
+ ('𐐰', &['𐐈']),
+ ('𐐱', &['𐐉']),
+ ('𐐲', &['𐐊']),
+ ('𐐳', &['𐐋']),
+ ('𐐴', &['𐐌']),
+ ('𐐵', &['𐐍']),
+ ('𐐶', &['𐐎']),
+ ('𐐷', &['𐐏']),
+ ('𐐸', &['𐐐']),
+ ('𐐹', &['𐐑']),
+ ('𐐺', &['𐐒']),
+ ('𐐻', &['𐐓']),
+ ('𐐼', &['𐐔']),
+ ('𐐽', &['𐐕']),
+ ('𐐾', &['𐐖']),
+ ('𐐿', &['𐐗']),
+ ('𐑀', &['𐐘']),
+ ('𐑁', &['𐐙']),
+ ('𐑂', &['𐐚']),
+ ('𐑃', &['𐐛']),
+ ('𐑄', &['𐐜']),
+ ('𐑅', &['𐐝']),
+ ('𐑆', &['𐐞']),
+ ('𐑇', &['𐐟']),
+ ('𐑈', &['𐐠']),
+ ('𐑉', &['𐐡']),
+ ('𐑊', &['𐐢']),
+ ('𐑋', &['𐐣']),
+ ('𐑌', &['𐐤']),
+ ('𐑍', &['𐐥']),
+ ('𐑎', &['𐐦']),
+ ('𐑏', &['𐐧']),
+ ('𐒰', &['𐓘']),
+ ('𐒱', &['𐓙']),
+ ('𐒲', &['𐓚']),
+ ('𐒳', &['𐓛']),
+ ('𐒴', &['𐓜']),
+ ('𐒵', &['𐓝']),
+ ('𐒶', &['𐓞']),
+ ('𐒷', &['𐓟']),
+ ('𐒸', &['𐓠']),
+ ('𐒹', &['𐓡']),
+ ('𐒺', &['𐓢']),
+ ('𐒻', &['𐓣']),
+ ('𐒼', &['𐓤']),
+ ('𐒽', &['𐓥']),
+ ('𐒾', &['𐓦']),
+ ('𐒿', &['𐓧']),
+ ('𐓀', &['𐓨']),
+ ('𐓁', &['𐓩']),
+ ('𐓂', &['𐓪']),
+ ('𐓃', &['𐓫']),
+ ('𐓄', &['𐓬']),
+ ('𐓅', &['𐓭']),
+ ('𐓆', &['𐓮']),
+ ('𐓇', &['𐓯']),
+ ('𐓈', &['𐓰']),
+ ('𐓉', &['𐓱']),
+ ('𐓊', &['𐓲']),
+ ('𐓋', &['𐓳']),
+ ('𐓌', &['𐓴']),
+ ('𐓍', &['𐓵']),
+ ('𐓎', &['𐓶']),
+ ('𐓏', &['𐓷']),
+ ('𐓐', &['𐓸']),
+ ('𐓑', &['𐓹']),
+ ('𐓒', &['𐓺']),
+ ('𐓓', &['𐓻']),
+ ('𐓘', &['𐒰']),
+ ('𐓙', &['𐒱']),
+ ('𐓚', &['𐒲']),
+ ('𐓛', &['𐒳']),
+ ('𐓜', &['𐒴']),
+ ('𐓝', &['𐒵']),
+ ('𐓞', &['𐒶']),
+ ('𐓟', &['𐒷']),
+ ('𐓠', &['𐒸']),
+ ('𐓡', &['𐒹']),
+ ('𐓢', &['𐒺']),
+ ('𐓣', &['𐒻']),
+ ('𐓤', &['𐒼']),
+ ('𐓥', &['𐒽']),
+ ('𐓦', &['𐒾']),
+ ('𐓧', &['𐒿']),
+ ('𐓨', &['𐓀']),
+ ('𐓩', &['𐓁']),
+ ('𐓪', &['𐓂']),
+ ('𐓫', &['𐓃']),
+ ('𐓬', &['𐓄']),
+ ('𐓭', &['𐓅']),
+ ('𐓮', &['𐓆']),
+ ('𐓯', &['𐓇']),
+ ('𐓰', &['𐓈']),
+ ('𐓱', &['𐓉']),
+ ('𐓲', &['𐓊']),
+ ('𐓳', &['𐓋']),
+ ('𐓴', &['𐓌']),
+ ('𐓵', &['𐓍']),
+ ('𐓶', &['𐓎']),
+ ('𐓷', &['𐓏']),
+ ('𐓸', &['𐓐']),
+ ('𐓹', &['𐓑']),
+ ('𐓺', &['𐓒']),
+ ('𐓻', &['𐓓']),
+ ('𐕰', &['𐖗']),
+ ('𐕱', &['𐖘']),
+ ('𐕲', &['𐖙']),
+ ('𐕳', &['𐖚']),
+ ('𐕴', &['𐖛']),
+ ('𐕵', &['𐖜']),
+ ('𐕶', &['𐖝']),
+ ('𐕷', &['𐖞']),
+ ('𐕸', &['𐖟']),
+ ('𐕹', &['𐖠']),
+ ('𐕺', &['𐖡']),
+ ('𐕼', &['𐖣']),
+ ('𐕽', &['𐖤']),
+ ('𐕾', &['𐖥']),
+ ('𐕿', &['𐖦']),
+ ('𐖀', &['𐖧']),
+ ('𐖁', &['𐖨']),
+ ('𐖂', &['𐖩']),
+ ('𐖃', &['𐖪']),
+ ('𐖄', &['𐖫']),
+ ('𐖅', &['𐖬']),
+ ('𐖆', &['𐖭']),
+ ('𐖇', &['𐖮']),
+ ('𐖈', &['𐖯']),
+ ('𐖉', &['𐖰']),
+ ('𐖊', &['𐖱']),
+ ('𐖌', &['𐖳']),
+ ('𐖍', &['𐖴']),
+ ('𐖎', &['𐖵']),
+ ('𐖏', &['𐖶']),
+ ('𐖐', &['𐖷']),
+ ('𐖑', &['𐖸']),
+ ('𐖒', &['𐖹']),
+ ('𐖔', &['𐖻']),
+ ('𐖕', &['𐖼']),
+ ('𐖗', &['𐕰']),
+ ('𐖘', &['𐕱']),
+ ('𐖙', &['𐕲']),
+ ('𐖚', &['𐕳']),
+ ('𐖛', &['𐕴']),
+ ('𐖜', &['𐕵']),
+ ('𐖝', &['𐕶']),
+ ('𐖞', &['𐕷']),
+ ('𐖟', &['𐕸']),
+ ('𐖠', &['𐕹']),
+ ('𐖡', &['𐕺']),
+ ('𐖣', &['𐕼']),
+ ('𐖤', &['𐕽']),
+ ('𐖥', &['𐕾']),
+ ('𐖦', &['𐕿']),
+ ('𐖧', &['𐖀']),
+ ('𐖨', &['𐖁']),
+ ('𐖩', &['𐖂']),
+ ('𐖪', &['𐖃']),
+ ('𐖫', &['𐖄']),
+ ('𐖬', &['𐖅']),
+ ('𐖭', &['𐖆']),
+ ('𐖮', &['𐖇']),
+ ('𐖯', &['𐖈']),
+ ('𐖰', &['𐖉']),
+ ('𐖱', &['𐖊']),
+ ('𐖳', &['𐖌']),
+ ('𐖴', &['𐖍']),
+ ('𐖵', &['𐖎']),
+ ('𐖶', &['𐖏']),
+ ('𐖷', &['𐖐']),
+ ('𐖸', &['𐖑']),
+ ('𐖹', &['𐖒']),
+ ('𐖻', &['𐖔']),
+ ('𐖼', &['𐖕']),
+ ('𐲀', &['𐳀']),
+ ('𐲁', &['𐳁']),
+ ('𐲂', &['𐳂']),
+ ('𐲃', &['𐳃']),
+ ('𐲄', &['𐳄']),
+ ('𐲅', &['𐳅']),
+ ('𐲆', &['𐳆']),
+ ('𐲇', &['𐳇']),
+ ('𐲈', &['𐳈']),
+ ('𐲉', &['𐳉']),
+ ('𐲊', &['𐳊']),
+ ('𐲋', &['𐳋']),
+ ('𐲌', &['𐳌']),
+ ('𐲍', &['𐳍']),
+ ('𐲎', &['𐳎']),
+ ('𐲏', &['𐳏']),
+ ('𐲐', &['𐳐']),
+ ('𐲑', &['𐳑']),
+ ('𐲒', &['𐳒']),
+ ('𐲓', &['𐳓']),
+ ('𐲔', &['𐳔']),
+ ('𐲕', &['𐳕']),
+ ('𐲖', &['𐳖']),
+ ('𐲗', &['𐳗']),
+ ('𐲘', &['𐳘']),
+ ('𐲙', &['𐳙']),
+ ('𐲚', &['𐳚']),
+ ('𐲛', &['𐳛']),
+ ('𐲜', &['𐳜']),
+ ('𐲝', &['𐳝']),
+ ('𐲞', &['𐳞']),
+ ('𐲟', &['𐳟']),
+ ('𐲠', &['𐳠']),
+ ('𐲡', &['𐳡']),
+ ('𐲢', &['𐳢']),
+ ('𐲣', &['𐳣']),
+ ('𐲤', &['𐳤']),
+ ('𐲥', &['𐳥']),
+ ('𐲦', &['𐳦']),
+ ('𐲧', &['𐳧']),
+ ('𐲨', &['𐳨']),
+ ('𐲩', &['𐳩']),
+ ('𐲪', &['𐳪']),
+ ('𐲫', &['𐳫']),
+ ('𐲬', &['𐳬']),
+ ('𐲭', &['𐳭']),
+ ('𐲮', &['𐳮']),
+ ('𐲯', &['𐳯']),
+ ('𐲰', &['𐳰']),
+ ('𐲱', &['𐳱']),
+ ('𐲲', &['𐳲']),
+ ('𐳀', &['𐲀']),
+ ('𐳁', &['𐲁']),
+ ('𐳂', &['𐲂']),
+ ('𐳃', &['𐲃']),
+ ('𐳄', &['𐲄']),
+ ('𐳅', &['𐲅']),
+ ('𐳆', &['𐲆']),
+ ('𐳇', &['𐲇']),
+ ('𐳈', &['𐲈']),
+ ('𐳉', &['𐲉']),
+ ('𐳊', &['𐲊']),
+ ('𐳋', &['𐲋']),
+ ('𐳌', &['𐲌']),
+ ('𐳍', &['𐲍']),
+ ('𐳎', &['𐲎']),
+ ('𐳏', &['𐲏']),
+ ('𐳐', &['𐲐']),
+ ('𐳑', &['𐲑']),
+ ('𐳒', &['𐲒']),
+ ('𐳓', &['𐲓']),
+ ('𐳔', &['𐲔']),
+ ('𐳕', &['𐲕']),
+ ('𐳖', &['𐲖']),
+ ('𐳗', &['𐲗']),
+ ('𐳘', &['𐲘']),
+ ('𐳙', &['𐲙']),
+ ('𐳚', &['𐲚']),
+ ('𐳛', &['𐲛']),
+ ('𐳜', &['𐲜']),
+ ('𐳝', &['𐲝']),
+ ('𐳞', &['𐲞']),
+ ('𐳟', &['𐲟']),
+ ('𐳠', &['𐲠']),
+ ('𐳡', &['𐲡']),
+ ('𐳢', &['𐲢']),
+ ('𐳣', &['𐲣']),
+ ('𐳤', &['𐲤']),
+ ('𐳥', &['𐲥']),
+ ('𐳦', &['𐲦']),
+ ('𐳧', &['𐲧']),
+ ('𐳨', &['𐲨']),
+ ('𐳩', &['𐲩']),
+ ('𐳪', &['𐲪']),
+ ('𐳫', &['𐲫']),
+ ('𐳬', &['𐲬']),
+ ('𐳭', &['𐲭']),
+ ('𐳮', &['𐲮']),
+ ('𐳯', &['𐲯']),
+ ('𐳰', &['𐲰']),
+ ('𐳱', &['𐲱']),
+ ('𐳲', &['𐲲']),
+ ('𑢠', &['𑣀']),
+ ('𑢡', &['𑣁']),
+ ('𑢢', &['𑣂']),
+ ('𑢣', &['𑣃']),
+ ('𑢤', &['𑣄']),
+ ('𑢥', &['𑣅']),
+ ('𑢦', &['𑣆']),
+ ('𑢧', &['𑣇']),
+ ('𑢨', &['𑣈']),
+ ('𑢩', &['𑣉']),
+ ('𑢪', &['𑣊']),
+ ('𑢫', &['𑣋']),
+ ('𑢬', &['𑣌']),
+ ('𑢭', &['𑣍']),
+ ('𑢮', &['𑣎']),
+ ('𑢯', &['𑣏']),
+ ('𑢰', &['𑣐']),
+ ('𑢱', &['𑣑']),
+ ('𑢲', &['𑣒']),
+ ('𑢳', &['𑣓']),
+ ('𑢴', &['𑣔']),
+ ('𑢵', &['𑣕']),
+ ('𑢶', &['𑣖']),
+ ('𑢷', &['𑣗']),
+ ('𑢸', &['𑣘']),
+ ('𑢹', &['𑣙']),
+ ('𑢺', &['𑣚']),
+ ('𑢻', &['𑣛']),
+ ('𑢼', &['𑣜']),
+ ('𑢽', &['𑣝']),
+ ('𑢾', &['𑣞']),
+ ('𑢿', &['𑣟']),
+ ('𑣀', &['𑢠']),
+ ('𑣁', &['𑢡']),
+ ('𑣂', &['𑢢']),
+ ('𑣃', &['𑢣']),
+ ('𑣄', &['𑢤']),
+ ('𑣅', &['𑢥']),
+ ('𑣆', &['𑢦']),
+ ('𑣇', &['𑢧']),
+ ('𑣈', &['𑢨']),
+ ('𑣉', &['𑢩']),
+ ('𑣊', &['𑢪']),
+ ('𑣋', &['𑢫']),
+ ('𑣌', &['𑢬']),
+ ('𑣍', &['𑢭']),
+ ('𑣎', &['𑢮']),
+ ('𑣏', &['𑢯']),
+ ('𑣐', &['𑢰']),
+ ('𑣑', &['𑢱']),
+ ('𑣒', &['𑢲']),
+ ('𑣓', &['𑢳']),
+ ('𑣔', &['𑢴']),
+ ('𑣕', &['𑢵']),
+ ('𑣖', &['𑢶']),
+ ('𑣗', &['𑢷']),
+ ('𑣘', &['𑢸']),
+ ('𑣙', &['𑢹']),
+ ('𑣚', &['𑢺']),
+ ('𑣛', &['𑢻']),
+ ('𑣜', &['𑢼']),
+ ('𑣝', &['𑢽']),
+ ('𑣞', &['𑢾']),
+ ('𑣟', &['𑢿']),
+ ('𖹀', &['𖹠']),
+ ('𖹁', &['𖹡']),
+ ('𖹂', &['𖹢']),
+ ('𖹃', &['𖹣']),
+ ('𖹄', &['𖹤']),
+ ('𖹅', &['𖹥']),
+ ('𖹆', &['𖹦']),
+ ('𖹇', &['𖹧']),
+ ('𖹈', &['𖹨']),
+ ('𖹉', &['𖹩']),
+ ('𖹊', &['𖹪']),
+ ('𖹋', &['𖹫']),
+ ('𖹌', &['𖹬']),
+ ('𖹍', &['𖹭']),
+ ('𖹎', &['𖹮']),
+ ('𖹏', &['𖹯']),
+ ('𖹐', &['𖹰']),
+ ('𖹑', &['𖹱']),
+ ('𖹒', &['𖹲']),
+ ('𖹓', &['𖹳']),
+ ('𖹔', &['𖹴']),
+ ('𖹕', &['𖹵']),
+ ('𖹖', &['𖹶']),
+ ('𖹗', &['𖹷']),
+ ('𖹘', &['𖹸']),
+ ('𖹙', &['𖹹']),
+ ('𖹚', &['𖹺']),
+ ('𖹛', &['𖹻']),
+ ('𖹜', &['𖹼']),
+ ('𖹝', &['𖹽']),
+ ('𖹞', &['𖹾']),
+ ('𖹟', &['𖹿']),
+ ('𖹠', &['𖹀']),
+ ('𖹡', &['𖹁']),
+ ('𖹢', &['𖹂']),
+ ('𖹣', &['𖹃']),
+ ('𖹤', &['𖹄']),
+ ('𖹥', &['𖹅']),
+ ('𖹦', &['𖹆']),
+ ('𖹧', &['𖹇']),
+ ('𖹨', &['𖹈']),
+ ('𖹩', &['𖹉']),
+ ('𖹪', &['𖹊']),
+ ('𖹫', &['𖹋']),
+ ('𖹬', &['𖹌']),
+ ('𖹭', &['𖹍']),
+ ('𖹮', &['𖹎']),
+ ('𖹯', &['𖹏']),
+ ('𖹰', &['𖹐']),
+ ('𖹱', &['𖹑']),
+ ('𖹲', &['𖹒']),
+ ('𖹳', &['𖹓']),
+ ('𖹴', &['𖹔']),
+ ('𖹵', &['𖹕']),
+ ('𖹶', &['𖹖']),
+ ('𖹷', &['𖹗']),
+ ('𖹸', &['𖹘']),
+ ('𖹹', &['𖹙']),
+ ('𖹺', &['𖹚']),
+ ('𖹻', &['𖹛']),
+ ('𖹼', &['𖹜']),
+ ('𖹽', &['𖹝']),
+ ('𖹾', &['𖹞']),
+ ('𖹿', &['𖹟']),
+ ('𞤀', &['𞤢']),
+ ('𞤁', &['𞤣']),
+ ('𞤂', &['𞤤']),
+ ('𞤃', &['𞤥']),
+ ('𞤄', &['𞤦']),
+ ('𞤅', &['𞤧']),
+ ('𞤆', &['𞤨']),
+ ('𞤇', &['𞤩']),
+ ('𞤈', &['𞤪']),
+ ('𞤉', &['𞤫']),
+ ('𞤊', &['𞤬']),
+ ('𞤋', &['𞤭']),
+ ('𞤌', &['𞤮']),
+ ('𞤍', &['𞤯']),
+ ('𞤎', &['𞤰']),
+ ('𞤏', &['𞤱']),
+ ('𞤐', &['𞤲']),
+ ('𞤑', &['𞤳']),
+ ('𞤒', &['𞤴']),
+ ('𞤓', &['𞤵']),
+ ('𞤔', &['𞤶']),
+ ('𞤕', &['𞤷']),
+ ('𞤖', &['𞤸']),
+ ('𞤗', &['𞤹']),
+ ('𞤘', &['𞤺']),
+ ('𞤙', &['𞤻']),
+ ('𞤚', &['𞤼']),
+ ('𞤛', &['𞤽']),
+ ('𞤜', &['𞤾']),
+ ('𞤝', &['𞤿']),
+ ('𞤞', &['𞥀']),
+ ('𞤟', &['𞥁']),
+ ('𞤠', &['𞥂']),
+ ('𞤡', &['𞥃']),
+ ('𞤢', &['𞤀']),
+ ('𞤣', &['𞤁']),
+ ('𞤤', &['𞤂']),
+ ('𞤥', &['𞤃']),
+ ('𞤦', &['𞤄']),
+ ('𞤧', &['𞤅']),
+ ('𞤨', &['𞤆']),
+ ('𞤩', &['𞤇']),
+ ('𞤪', &['𞤈']),
+ ('𞤫', &['𞤉']),
+ ('𞤬', &['𞤊']),
+ ('𞤭', &['𞤋']),
+ ('𞤮', &['𞤌']),
+ ('𞤯', &['𞤍']),
+ ('𞤰', &['𞤎']),
+ ('𞤱', &['𞤏']),
+ ('𞤲', &['𞤐']),
+ ('𞤳', &['𞤑']),
+ ('𞤴', &['𞤒']),
+ ('𞤵', &['𞤓']),
+ ('𞤶', &['𞤔']),
+ ('𞤷', &['𞤕']),
+ ('𞤸', &['𞤖']),
+ ('𞤹', &['𞤗']),
+ ('𞤺', &['𞤘']),
+ ('𞤻', &['𞤙']),
+ ('𞤼', &['𞤚']),
+ ('𞤽', &['𞤛']),
+ ('𞤾', &['𞤜']),
+ ('𞤿', &['𞤝']),
+ ('𞥀', &['𞤞']),
+ ('𞥁', &['𞤟']),
+ ('𞥂', &['𞤠']),
+ ('𞥃', &['𞤡']),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/general_category.rs b/third_party/rust/regex-syntax/src/unicode_tables/general_category.rs
new file mode 100644
index 0000000000..8fc9289127
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/general_category.rs
@@ -0,0 +1,6552 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate general-category ucd-15.0.0 --chars --exclude surrogate
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("Cased_Letter", CASED_LETTER),
+ ("Close_Punctuation", CLOSE_PUNCTUATION),
+ ("Connector_Punctuation", CONNECTOR_PUNCTUATION),
+ ("Control", CONTROL),
+ ("Currency_Symbol", CURRENCY_SYMBOL),
+ ("Dash_Punctuation", DASH_PUNCTUATION),
+ ("Decimal_Number", DECIMAL_NUMBER),
+ ("Enclosing_Mark", ENCLOSING_MARK),
+ ("Final_Punctuation", FINAL_PUNCTUATION),
+ ("Format", FORMAT),
+ ("Initial_Punctuation", INITIAL_PUNCTUATION),
+ ("Letter", LETTER),
+ ("Letter_Number", LETTER_NUMBER),
+ ("Line_Separator", LINE_SEPARATOR),
+ ("Lowercase_Letter", LOWERCASE_LETTER),
+ ("Mark", MARK),
+ ("Math_Symbol", MATH_SYMBOL),
+ ("Modifier_Letter", MODIFIER_LETTER),
+ ("Modifier_Symbol", MODIFIER_SYMBOL),
+ ("Nonspacing_Mark", NONSPACING_MARK),
+ ("Number", NUMBER),
+ ("Open_Punctuation", OPEN_PUNCTUATION),
+ ("Other", OTHER),
+ ("Other_Letter", OTHER_LETTER),
+ ("Other_Number", OTHER_NUMBER),
+ ("Other_Punctuation", OTHER_PUNCTUATION),
+ ("Other_Symbol", OTHER_SYMBOL),
+ ("Paragraph_Separator", PARAGRAPH_SEPARATOR),
+ ("Private_Use", PRIVATE_USE),
+ ("Punctuation", PUNCTUATION),
+ ("Separator", SEPARATOR),
+ ("Space_Separator", SPACE_SEPARATOR),
+ ("Spacing_Mark", SPACING_MARK),
+ ("Symbol", SYMBOL),
+ ("Titlecase_Letter", TITLECASE_LETTER),
+ ("Unassigned", UNASSIGNED),
+ ("Uppercase_Letter", UPPERCASE_LETTER),
+];
+
+pub const CASED_LETTER: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('µ', 'µ'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ƺ'),
+ ('Ƽ', 'ƿ'),
+ ('DŽ', 'ʓ'),
+ ('ʕ', 'ʯ'),
+ ('Ͱ', 'ͳ'),
+ ('Ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՠ', 'ֈ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჽ', 'ჿ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᴀ', 'ᴫ'),
+ ('ᵫ', 'ᵷ'),
+ ('ᵹ', 'ᶚ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℯ', 'ℴ'),
+ ('ℹ', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ↄ', 'ↄ'),
+ ('Ⰰ', 'ⱻ'),
+ ('Ȿ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('Ꙁ', 'ꙭ'),
+ ('Ꚁ', 'ꚛ'),
+ ('Ꜣ', 'ꝯ'),
+ ('ꝱ', 'ꞇ'),
+ ('Ꞌ', 'ꞎ'),
+ ('Ꞑ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('Ꟶ', 'ꟶ'),
+ ('ꟺ', 'ꟺ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭠ', 'ꭨ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('𐐀', '𐑏'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𑢠', '𑣟'),
+ ('𖹀', '𖹿'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼉'),
+ ('𝼋', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞤀', '𞥃'),
+];
+
+pub const CLOSE_PUNCTUATION: &'static [(char, char)] = &[
+ (')', ')'),
+ (']', ']'),
+ ('}', '}'),
+ ('༻', '༻'),
+ ('༽', '༽'),
+ ('᚜', '᚜'),
+ ('⁆', '⁆'),
+ ('⁾', '⁾'),
+ ('₎', '₎'),
+ ('⌉', '⌉'),
+ ('⌋', '⌋'),
+ ('〉', '〉'),
+ ('❩', '❩'),
+ ('❫', '❫'),
+ ('❭', '❭'),
+ ('❯', '❯'),
+ ('❱', '❱'),
+ ('❳', '❳'),
+ ('❵', '❵'),
+ ('⟆', '⟆'),
+ ('⟧', '⟧'),
+ ('⟩', '⟩'),
+ ('⟫', '⟫'),
+ ('⟭', '⟭'),
+ ('⟯', '⟯'),
+ ('⦄', '⦄'),
+ ('⦆', '⦆'),
+ ('⦈', '⦈'),
+ ('⦊', '⦊'),
+ ('⦌', '⦌'),
+ ('⦎', '⦎'),
+ ('⦐', '⦐'),
+ ('⦒', '⦒'),
+ ('⦔', '⦔'),
+ ('⦖', '⦖'),
+ ('⦘', '⦘'),
+ ('⧙', '⧙'),
+ ('⧛', '⧛'),
+ ('⧽', '⧽'),
+ ('⸣', '⸣'),
+ ('⸥', '⸥'),
+ ('⸧', '⸧'),
+ ('⸩', '⸩'),
+ ('⹖', '⹖'),
+ ('⹘', '⹘'),
+ ('⹚', '⹚'),
+ ('⹜', '⹜'),
+ ('〉', '〉'),
+ ('》', '》'),
+ ('」', '」'),
+ ('』', '』'),
+ ('】', '】'),
+ ('〕', '〕'),
+ ('〗', '〗'),
+ ('〙', '〙'),
+ ('〛', '〛'),
+ ('〞', '〟'),
+ ('﴾', '﴾'),
+ ('︘', '︘'),
+ ('︶', '︶'),
+ ('︸', '︸'),
+ ('︺', '︺'),
+ ('︼', '︼'),
+ ('︾', '︾'),
+ ('﹀', '﹀'),
+ ('﹂', '﹂'),
+ ('﹄', '﹄'),
+ ('﹈', '﹈'),
+ ('﹚', '﹚'),
+ ('﹜', '﹜'),
+ ('﹞', '﹞'),
+ (')', ')'),
+ (']', ']'),
+ ('}', '}'),
+ ('⦆', '⦆'),
+ ('」', '」'),
+];
+
+pub const CONNECTOR_PUNCTUATION: &'static [(char, char)] = &[
+ ('_', '_'),
+ ('‿', '⁀'),
+ ('⁔', '⁔'),
+ ('︳', '︴'),
+ ('﹍', '﹏'),
+ ('_', '_'),
+];
+
+pub const CONTROL: &'static [(char, char)] =
+ &[('\0', '\u{1f}'), ('\u{7f}', '\u{9f}')];
+
+pub const CURRENCY_SYMBOL: &'static [(char, char)] = &[
+ ('$', '$'),
+ ('¢', '¥'),
+ ('֏', '֏'),
+ ('؋', '؋'),
+ ('߾', '߿'),
+ ('৲', '৳'),
+ ('৻', '৻'),
+ ('૱', '૱'),
+ ('௹', '௹'),
+ ('฿', '฿'),
+ ('៛', '៛'),
+ ('₠', '⃀'),
+ ('꠸', '꠸'),
+ ('﷼', '﷼'),
+ ('﹩', '﹩'),
+ ('$', '$'),
+ ('¢', '£'),
+ ('¥', '₩'),
+ ('𑿝', '𑿠'),
+ ('𞋿', '𞋿'),
+ ('𞲰', '𞲰'),
+];
+
+pub const DASH_PUNCTUATION: &'static [(char, char)] = &[
+ ('-', '-'),
+ ('֊', '֊'),
+ ('־', '־'),
+ ('᐀', '᐀'),
+ ('᠆', '᠆'),
+ ('‐', '―'),
+ ('⸗', '⸗'),
+ ('⸚', '⸚'),
+ ('⸺', '⸻'),
+ ('⹀', '⹀'),
+ ('⹝', '⹝'),
+ ('〜', '〜'),
+ ('〰', '〰'),
+ ('゠', '゠'),
+ ('︱', '︲'),
+ ('﹘', '﹘'),
+ ('﹣', '﹣'),
+ ('-', '-'),
+ ('𐺭', '𐺭'),
+];
+
+pub const DECIMAL_NUMBER: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('٠', '٩'),
+ ('۰', '۹'),
+ ('߀', '߉'),
+ ('०', '९'),
+ ('০', '৯'),
+ ('੦', '੯'),
+ ('૦', '૯'),
+ ('୦', '୯'),
+ ('௦', '௯'),
+ ('౦', '౯'),
+ ('೦', '೯'),
+ ('൦', '൯'),
+ ('෦', '෯'),
+ ('๐', '๙'),
+ ('໐', '໙'),
+ ('༠', '༩'),
+ ('၀', '၉'),
+ ('႐', '႙'),
+ ('០', '៩'),
+ ('᠐', '᠙'),
+ ('᥆', '᥏'),
+ ('᧐', '᧙'),
+ ('᪀', '᪉'),
+ ('᪐', '᪙'),
+ ('᭐', '᭙'),
+ ('᮰', '᮹'),
+ ('᱀', '᱉'),
+ ('᱐', '᱙'),
+ ('꘠', '꘩'),
+ ('꣐', '꣙'),
+ ('꤀', '꤉'),
+ ('꧐', '꧙'),
+ ('꧰', '꧹'),
+ ('꩐', '꩙'),
+ ('꯰', '꯹'),
+ ('0', '9'),
+ ('𐒠', '𐒩'),
+ ('𐴰', '𐴹'),
+ ('𑁦', '𑁯'),
+ ('𑃰', '𑃹'),
+ ('𑄶', '𑄿'),
+ ('𑇐', '𑇙'),
+ ('𑋰', '𑋹'),
+ ('𑑐', '𑑙'),
+ ('𑓐', '𑓙'),
+ ('𑙐', '𑙙'),
+ ('𑛀', '𑛉'),
+ ('𑜰', '𑜹'),
+ ('𑣠', '𑣩'),
+ ('𑥐', '𑥙'),
+ ('𑱐', '𑱙'),
+ ('𑵐', '𑵙'),
+ ('𑶠', '𑶩'),
+ ('𑽐', '𑽙'),
+ ('𖩠', '𖩩'),
+ ('𖫀', '𖫉'),
+ ('𖭐', '𖭙'),
+ ('𝟎', '𝟿'),
+ ('𞅀', '𞅉'),
+ ('𞋰', '𞋹'),
+ ('𞓰', '𞓹'),
+ ('𞥐', '𞥙'),
+ ('🯰', '🯹'),
+];
+
+pub const ENCLOSING_MARK: &'static [(char, char)] = &[
+ ('\u{488}', '\u{489}'),
+ ('\u{1abe}', '\u{1abe}'),
+ ('\u{20dd}', '\u{20e0}'),
+ ('\u{20e2}', '\u{20e4}'),
+ ('\u{a670}', '\u{a672}'),
+];
+
+pub const FINAL_PUNCTUATION: &'static [(char, char)] = &[
+ ('»', '»'),
+ ('’', '’'),
+ ('”', '”'),
+ ('›', '›'),
+ ('⸃', '⸃'),
+ ('⸅', '⸅'),
+ ('⸊', '⸊'),
+ ('⸍', '⸍'),
+ ('⸝', '⸝'),
+ ('⸡', '⸡'),
+];
+
+pub const FORMAT: &'static [(char, char)] = &[
+ ('\u{ad}', '\u{ad}'),
+ ('\u{600}', '\u{605}'),
+ ('\u{61c}', '\u{61c}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{70f}', '\u{70f}'),
+ ('\u{890}', '\u{891}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('\u{180e}', '\u{180e}'),
+ ('\u{200b}', '\u{200f}'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2060}', '\u{2064}'),
+ ('\u{2066}', '\u{206f}'),
+ ('\u{feff}', '\u{feff}'),
+ ('\u{fff9}', '\u{fffb}'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110cd}', '\u{110cd}'),
+ ('\u{13430}', '\u{1343f}'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('\u{1d173}', '\u{1d17a}'),
+ ('\u{e0001}', '\u{e0001}'),
+ ('\u{e0020}', '\u{e007f}'),
+];
+
+pub const INITIAL_PUNCTUATION: &'static [(char, char)] = &[
+ ('«', '«'),
+ ('‘', '‘'),
+ ('‛', '“'),
+ ('‟', '‟'),
+ ('‹', '‹'),
+ ('⸂', '⸂'),
+ ('⸄', '⸄'),
+ ('⸉', '⸉'),
+ ('⸌', '⸌'),
+ ('⸜', '⸜'),
+ ('⸠', '⸠'),
+];
+
+pub const LETTER: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('Ͱ', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('ؠ', 'ي'),
+ ('ٮ', 'ٯ'),
+ ('ٱ', 'ۓ'),
+ ('ە', 'ە'),
+ ('ۥ', 'ۦ'),
+ ('ۮ', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠀ', 'ࠕ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('ऄ', 'ह'),
+ ('ऽ', 'ऽ'),
+ ('ॐ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('ॱ', 'ঀ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('ੲ', 'ੴ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ઽ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('ૹ', 'ૹ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('ୱ', 'ୱ'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ௐ', 'ௐ'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('ಀ', 'ಀ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಽ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('ೱ', 'ೲ'),
+ ('ഄ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', 'ൖ'),
+ ('ൟ', 'ൡ'),
+ ('ൺ', 'ൿ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ก', 'ะ'),
+ ('า', 'ำ'),
+ ('เ', 'ๆ'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ະ'),
+ ('າ', 'ຳ'),
+ ('ຽ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ྈ', 'ྌ'),
+ ('က', 'ဪ'),
+ ('ဿ', 'ဿ'),
+ ('ၐ', 'ၕ'),
+ ('ၚ', 'ၝ'),
+ ('ၡ', 'ၡ'),
+ ('ၥ', 'ၦ'),
+ ('ၮ', 'ၰ'),
+ ('ၵ', 'ႁ'),
+ ('ႎ', 'ႎ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛱ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('ᜟ', 'ᜱ'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ក', 'ឳ'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', 'ៜ'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢄ'),
+ ('ᢇ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᥐ', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('ᨀ', 'ᨖ'),
+ ('ᨠ', 'ᩔ'),
+ ('ᪧ', 'ᪧ'),
+ ('ᬅ', 'ᬳ'),
+ ('ᭅ', 'ᭌ'),
+ ('ᮃ', 'ᮠ'),
+ ('ᮮ', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᰀ', 'ᰣ'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ᴀ', 'ᶿ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℯ', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ↄ', 'ↄ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '〆'),
+ ('〱', '〵'),
+ ('〻', '〼'),
+ ('ぁ', 'ゖ'),
+ ('ゝ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('Ꙁ', 'ꙮ'),
+ ('ꙿ', 'ꚝ'),
+ ('ꚠ', 'ꛥ'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠢ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢂ', 'ꢳ'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', 'ꣾ'),
+ ('ꤊ', 'ꤥ'),
+ ('ꤰ', 'ꥆ'),
+ ('ꥠ', 'ꥼ'),
+ ('ꦄ', 'ꦲ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧠ', 'ꧤ'),
+ ('ꧦ', 'ꧯ'),
+ ('ꧺ', 'ꧾ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꩺ'),
+ ('ꩾ', 'ꪯ'),
+ ('ꪱ', 'ꪱ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪽ'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫪ'),
+ ('ꫲ', 'ꫴ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯢ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ヲ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍀'),
+ ('𐍂', '𐍉'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐐀', '𐒝'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '𐴣'),
+ ('𐺀', '𐺩'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀃', '𑀷'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂃', '𑂯'),
+ ('𑃐', '𑃨'),
+ ('𑄃', '𑄦'),
+ ('𑅄', '𑅄'),
+ ('𑅇', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('𑆃', '𑆲'),
+ ('𑇁', '𑇄'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈫'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '𑋞'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍡'),
+ ('𑐀', '𑐴'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '𑖮'),
+ ('𑗘', '𑗛'),
+ ('𑘀', '𑘯'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '𑚪'),
+ ('𑚸', '𑚸'),
+ ('𑜀', '𑜚'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '𑠫'),
+ ('𑢠', '𑣟'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧐'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧣'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨺', '𑨺'),
+ ('𑩐', '𑩐'),
+ ('𑩜', '𑪉'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰮'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶉'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻲'),
+ ('𑼂', '𑼂'),
+ ('𑼄', '𑼐'),
+ ('𑼒', '𑼳'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭀', '𖭃'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖽐'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓫'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞤀', '𞥃'),
+ ('𞥋', '𞥋'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const LETTER_NUMBER: &'static [(char, char)] = &[
+ ('ᛮ', 'ᛰ'),
+ ('Ⅰ', 'ↂ'),
+ ('ↅ', 'ↈ'),
+ ('〇', '〇'),
+ ('〡', '〩'),
+ ('〸', '〺'),
+ ('ꛦ', 'ꛯ'),
+ ('𐅀', '𐅴'),
+ ('𐍁', '𐍁'),
+ ('𐍊', '𐍊'),
+ ('𐏑', '𐏕'),
+ ('𒐀', '𒑮'),
+];
+
+pub const LINE_SEPARATOR: &'static [(char, char)] =
+ &[('\u{2028}', '\u{2028}')];
+
+pub const LOWERCASE_LETTER: &'static [(char, char)] = &[
+ ('a', 'z'),
+ ('µ', 'µ'),
+ ('ß', 'ö'),
+ ('ø', 'ÿ'),
+ ('ā', 'ā'),
+ ('ă', 'ă'),
+ ('ą', 'ą'),
+ ('ć', 'ć'),
+ ('ĉ', 'ĉ'),
+ ('ċ', 'ċ'),
+ ('č', 'č'),
+ ('ď', 'ď'),
+ ('đ', 'đ'),
+ ('ē', 'ē'),
+ ('ĕ', 'ĕ'),
+ ('ė', 'ė'),
+ ('ę', 'ę'),
+ ('ě', 'ě'),
+ ('ĝ', 'ĝ'),
+ ('ğ', 'ğ'),
+ ('ġ', 'ġ'),
+ ('ģ', 'ģ'),
+ ('ĥ', 'ĥ'),
+ ('ħ', 'ħ'),
+ ('ĩ', 'ĩ'),
+ ('ī', 'ī'),
+ ('ĭ', 'ĭ'),
+ ('į', 'į'),
+ ('ı', 'ı'),
+ ('ij', 'ij'),
+ ('ĵ', 'ĵ'),
+ ('ķ', 'ĸ'),
+ ('ĺ', 'ĺ'),
+ ('ļ', 'ļ'),
+ ('ľ', 'ľ'),
+ ('ŀ', 'ŀ'),
+ ('ł', 'ł'),
+ ('ń', 'ń'),
+ ('ņ', 'ņ'),
+ ('ň', 'ʼn'),
+ ('ŋ', 'ŋ'),
+ ('ō', 'ō'),
+ ('ŏ', 'ŏ'),
+ ('ő', 'ő'),
+ ('œ', 'œ'),
+ ('ŕ', 'ŕ'),
+ ('ŗ', 'ŗ'),
+ ('ř', 'ř'),
+ ('ś', 'ś'),
+ ('ŝ', 'ŝ'),
+ ('ş', 'ş'),
+ ('š', 'š'),
+ ('ţ', 'ţ'),
+ ('ť', 'ť'),
+ ('ŧ', 'ŧ'),
+ ('ũ', 'ũ'),
+ ('ū', 'ū'),
+ ('ŭ', 'ŭ'),
+ ('ů', 'ů'),
+ ('ű', 'ű'),
+ ('ų', 'ų'),
+ ('ŵ', 'ŵ'),
+ ('ŷ', 'ŷ'),
+ ('ź', 'ź'),
+ ('ż', 'ż'),
+ ('ž', 'ƀ'),
+ ('ƃ', 'ƃ'),
+ ('ƅ', 'ƅ'),
+ ('ƈ', 'ƈ'),
+ ('ƌ', 'ƍ'),
+ ('ƒ', 'ƒ'),
+ ('ƕ', 'ƕ'),
+ ('ƙ', 'ƛ'),
+ ('ƞ', 'ƞ'),
+ ('ơ', 'ơ'),
+ ('ƣ', 'ƣ'),
+ ('ƥ', 'ƥ'),
+ ('ƨ', 'ƨ'),
+ ('ƪ', 'ƫ'),
+ ('ƭ', 'ƭ'),
+ ('ư', 'ư'),
+ ('ƴ', 'ƴ'),
+ ('ƶ', 'ƶ'),
+ ('ƹ', 'ƺ'),
+ ('ƽ', 'ƿ'),
+ ('dž', 'dž'),
+ ('lj', 'lj'),
+ ('nj', 'nj'),
+ ('ǎ', 'ǎ'),
+ ('ǐ', 'ǐ'),
+ ('ǒ', 'ǒ'),
+ ('ǔ', 'ǔ'),
+ ('ǖ', 'ǖ'),
+ ('ǘ', 'ǘ'),
+ ('ǚ', 'ǚ'),
+ ('ǜ', 'ǝ'),
+ ('ǟ', 'ǟ'),
+ ('ǡ', 'ǡ'),
+ ('ǣ', 'ǣ'),
+ ('ǥ', 'ǥ'),
+ ('ǧ', 'ǧ'),
+ ('ǩ', 'ǩ'),
+ ('ǫ', 'ǫ'),
+ ('ǭ', 'ǭ'),
+ ('ǯ', 'ǰ'),
+ ('dz', 'dz'),
+ ('ǵ', 'ǵ'),
+ ('ǹ', 'ǹ'),
+ ('ǻ', 'ǻ'),
+ ('ǽ', 'ǽ'),
+ ('ǿ', 'ǿ'),
+ ('ȁ', 'ȁ'),
+ ('ȃ', 'ȃ'),
+ ('ȅ', 'ȅ'),
+ ('ȇ', 'ȇ'),
+ ('ȉ', 'ȉ'),
+ ('ȋ', 'ȋ'),
+ ('ȍ', 'ȍ'),
+ ('ȏ', 'ȏ'),
+ ('ȑ', 'ȑ'),
+ ('ȓ', 'ȓ'),
+ ('ȕ', 'ȕ'),
+ ('ȗ', 'ȗ'),
+ ('ș', 'ș'),
+ ('ț', 'ț'),
+ ('ȝ', 'ȝ'),
+ ('ȟ', 'ȟ'),
+ ('ȡ', 'ȡ'),
+ ('ȣ', 'ȣ'),
+ ('ȥ', 'ȥ'),
+ ('ȧ', 'ȧ'),
+ ('ȩ', 'ȩ'),
+ ('ȫ', 'ȫ'),
+ ('ȭ', 'ȭ'),
+ ('ȯ', 'ȯ'),
+ ('ȱ', 'ȱ'),
+ ('ȳ', 'ȹ'),
+ ('ȼ', 'ȼ'),
+ ('ȿ', 'ɀ'),
+ ('ɂ', 'ɂ'),
+ ('ɇ', 'ɇ'),
+ ('ɉ', 'ɉ'),
+ ('ɋ', 'ɋ'),
+ ('ɍ', 'ɍ'),
+ ('ɏ', 'ʓ'),
+ ('ʕ', 'ʯ'),
+ ('ͱ', 'ͱ'),
+ ('ͳ', 'ͳ'),
+ ('ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('ΐ', 'ΐ'),
+ ('ά', 'ώ'),
+ ('ϐ', 'ϑ'),
+ ('ϕ', 'ϗ'),
+ ('ϙ', 'ϙ'),
+ ('ϛ', 'ϛ'),
+ ('ϝ', 'ϝ'),
+ ('ϟ', 'ϟ'),
+ ('ϡ', 'ϡ'),
+ ('ϣ', 'ϣ'),
+ ('ϥ', 'ϥ'),
+ ('ϧ', 'ϧ'),
+ ('ϩ', 'ϩ'),
+ ('ϫ', 'ϫ'),
+ ('ϭ', 'ϭ'),
+ ('ϯ', 'ϳ'),
+ ('ϵ', 'ϵ'),
+ ('ϸ', 'ϸ'),
+ ('ϻ', 'ϼ'),
+ ('а', 'џ'),
+ ('ѡ', 'ѡ'),
+ ('ѣ', 'ѣ'),
+ ('ѥ', 'ѥ'),
+ ('ѧ', 'ѧ'),
+ ('ѩ', 'ѩ'),
+ ('ѫ', 'ѫ'),
+ ('ѭ', 'ѭ'),
+ ('ѯ', 'ѯ'),
+ ('ѱ', 'ѱ'),
+ ('ѳ', 'ѳ'),
+ ('ѵ', 'ѵ'),
+ ('ѷ', 'ѷ'),
+ ('ѹ', 'ѹ'),
+ ('ѻ', 'ѻ'),
+ ('ѽ', 'ѽ'),
+ ('ѿ', 'ѿ'),
+ ('ҁ', 'ҁ'),
+ ('ҋ', 'ҋ'),
+ ('ҍ', 'ҍ'),
+ ('ҏ', 'ҏ'),
+ ('ґ', 'ґ'),
+ ('ғ', 'ғ'),
+ ('ҕ', 'ҕ'),
+ ('җ', 'җ'),
+ ('ҙ', 'ҙ'),
+ ('қ', 'қ'),
+ ('ҝ', 'ҝ'),
+ ('ҟ', 'ҟ'),
+ ('ҡ', 'ҡ'),
+ ('ң', 'ң'),
+ ('ҥ', 'ҥ'),
+ ('ҧ', 'ҧ'),
+ ('ҩ', 'ҩ'),
+ ('ҫ', 'ҫ'),
+ ('ҭ', 'ҭ'),
+ ('ү', 'ү'),
+ ('ұ', 'ұ'),
+ ('ҳ', 'ҳ'),
+ ('ҵ', 'ҵ'),
+ ('ҷ', 'ҷ'),
+ ('ҹ', 'ҹ'),
+ ('һ', 'һ'),
+ ('ҽ', 'ҽ'),
+ ('ҿ', 'ҿ'),
+ ('ӂ', 'ӂ'),
+ ('ӄ', 'ӄ'),
+ ('ӆ', 'ӆ'),
+ ('ӈ', 'ӈ'),
+ ('ӊ', 'ӊ'),
+ ('ӌ', 'ӌ'),
+ ('ӎ', 'ӏ'),
+ ('ӑ', 'ӑ'),
+ ('ӓ', 'ӓ'),
+ ('ӕ', 'ӕ'),
+ ('ӗ', 'ӗ'),
+ ('ә', 'ә'),
+ ('ӛ', 'ӛ'),
+ ('ӝ', 'ӝ'),
+ ('ӟ', 'ӟ'),
+ ('ӡ', 'ӡ'),
+ ('ӣ', 'ӣ'),
+ ('ӥ', 'ӥ'),
+ ('ӧ', 'ӧ'),
+ ('ө', 'ө'),
+ ('ӫ', 'ӫ'),
+ ('ӭ', 'ӭ'),
+ ('ӯ', 'ӯ'),
+ ('ӱ', 'ӱ'),
+ ('ӳ', 'ӳ'),
+ ('ӵ', 'ӵ'),
+ ('ӷ', 'ӷ'),
+ ('ӹ', 'ӹ'),
+ ('ӻ', 'ӻ'),
+ ('ӽ', 'ӽ'),
+ ('ӿ', 'ӿ'),
+ ('ԁ', 'ԁ'),
+ ('ԃ', 'ԃ'),
+ ('ԅ', 'ԅ'),
+ ('ԇ', 'ԇ'),
+ ('ԉ', 'ԉ'),
+ ('ԋ', 'ԋ'),
+ ('ԍ', 'ԍ'),
+ ('ԏ', 'ԏ'),
+ ('ԑ', 'ԑ'),
+ ('ԓ', 'ԓ'),
+ ('ԕ', 'ԕ'),
+ ('ԗ', 'ԗ'),
+ ('ԙ', 'ԙ'),
+ ('ԛ', 'ԛ'),
+ ('ԝ', 'ԝ'),
+ ('ԟ', 'ԟ'),
+ ('ԡ', 'ԡ'),
+ ('ԣ', 'ԣ'),
+ ('ԥ', 'ԥ'),
+ ('ԧ', 'ԧ'),
+ ('ԩ', 'ԩ'),
+ ('ԫ', 'ԫ'),
+ ('ԭ', 'ԭ'),
+ ('ԯ', 'ԯ'),
+ ('ՠ', 'ֈ'),
+ ('ა', 'ჺ'),
+ ('ჽ', 'ჿ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᴀ', 'ᴫ'),
+ ('ᵫ', 'ᵷ'),
+ ('ᵹ', 'ᶚ'),
+ ('ḁ', 'ḁ'),
+ ('ḃ', 'ḃ'),
+ ('ḅ', 'ḅ'),
+ ('ḇ', 'ḇ'),
+ ('ḉ', 'ḉ'),
+ ('ḋ', 'ḋ'),
+ ('ḍ', 'ḍ'),
+ ('ḏ', 'ḏ'),
+ ('ḑ', 'ḑ'),
+ ('ḓ', 'ḓ'),
+ ('ḕ', 'ḕ'),
+ ('ḗ', 'ḗ'),
+ ('ḙ', 'ḙ'),
+ ('ḛ', 'ḛ'),
+ ('ḝ', 'ḝ'),
+ ('ḟ', 'ḟ'),
+ ('ḡ', 'ḡ'),
+ ('ḣ', 'ḣ'),
+ ('ḥ', 'ḥ'),
+ ('ḧ', 'ḧ'),
+ ('ḩ', 'ḩ'),
+ ('ḫ', 'ḫ'),
+ ('ḭ', 'ḭ'),
+ ('ḯ', 'ḯ'),
+ ('ḱ', 'ḱ'),
+ ('ḳ', 'ḳ'),
+ ('ḵ', 'ḵ'),
+ ('ḷ', 'ḷ'),
+ ('ḹ', 'ḹ'),
+ ('ḻ', 'ḻ'),
+ ('ḽ', 'ḽ'),
+ ('ḿ', 'ḿ'),
+ ('ṁ', 'ṁ'),
+ ('ṃ', 'ṃ'),
+ ('ṅ', 'ṅ'),
+ ('ṇ', 'ṇ'),
+ ('ṉ', 'ṉ'),
+ ('ṋ', 'ṋ'),
+ ('ṍ', 'ṍ'),
+ ('ṏ', 'ṏ'),
+ ('ṑ', 'ṑ'),
+ ('ṓ', 'ṓ'),
+ ('ṕ', 'ṕ'),
+ ('ṗ', 'ṗ'),
+ ('ṙ', 'ṙ'),
+ ('ṛ', 'ṛ'),
+ ('ṝ', 'ṝ'),
+ ('ṟ', 'ṟ'),
+ ('ṡ', 'ṡ'),
+ ('ṣ', 'ṣ'),
+ ('ṥ', 'ṥ'),
+ ('ṧ', 'ṧ'),
+ ('ṩ', 'ṩ'),
+ ('ṫ', 'ṫ'),
+ ('ṭ', 'ṭ'),
+ ('ṯ', 'ṯ'),
+ ('ṱ', 'ṱ'),
+ ('ṳ', 'ṳ'),
+ ('ṵ', 'ṵ'),
+ ('ṷ', 'ṷ'),
+ ('ṹ', 'ṹ'),
+ ('ṻ', 'ṻ'),
+ ('ṽ', 'ṽ'),
+ ('ṿ', 'ṿ'),
+ ('ẁ', 'ẁ'),
+ ('ẃ', 'ẃ'),
+ ('ẅ', 'ẅ'),
+ ('ẇ', 'ẇ'),
+ ('ẉ', 'ẉ'),
+ ('ẋ', 'ẋ'),
+ ('ẍ', 'ẍ'),
+ ('ẏ', 'ẏ'),
+ ('ẑ', 'ẑ'),
+ ('ẓ', 'ẓ'),
+ ('ẕ', 'ẝ'),
+ ('ẟ', 'ẟ'),
+ ('ạ', 'ạ'),
+ ('ả', 'ả'),
+ ('ấ', 'ấ'),
+ ('ầ', 'ầ'),
+ ('ẩ', 'ẩ'),
+ ('ẫ', 'ẫ'),
+ ('ậ', 'ậ'),
+ ('ắ', 'ắ'),
+ ('ằ', 'ằ'),
+ ('ẳ', 'ẳ'),
+ ('ẵ', 'ẵ'),
+ ('ặ', 'ặ'),
+ ('ẹ', 'ẹ'),
+ ('ẻ', 'ẻ'),
+ ('ẽ', 'ẽ'),
+ ('ế', 'ế'),
+ ('ề', 'ề'),
+ ('ể', 'ể'),
+ ('ễ', 'ễ'),
+ ('ệ', 'ệ'),
+ ('ỉ', 'ỉ'),
+ ('ị', 'ị'),
+ ('ọ', 'ọ'),
+ ('ỏ', 'ỏ'),
+ ('ố', 'ố'),
+ ('ồ', 'ồ'),
+ ('ổ', 'ổ'),
+ ('ỗ', 'ỗ'),
+ ('ộ', 'ộ'),
+ ('ớ', 'ớ'),
+ ('ờ', 'ờ'),
+ ('ở', 'ở'),
+ ('ỡ', 'ỡ'),
+ ('ợ', 'ợ'),
+ ('ụ', 'ụ'),
+ ('ủ', 'ủ'),
+ ('ứ', 'ứ'),
+ ('ừ', 'ừ'),
+ ('ử', 'ử'),
+ ('ữ', 'ữ'),
+ ('ự', 'ự'),
+ ('ỳ', 'ỳ'),
+ ('ỵ', 'ỵ'),
+ ('ỷ', 'ỷ'),
+ ('ỹ', 'ỹ'),
+ ('ỻ', 'ỻ'),
+ ('ỽ', 'ỽ'),
+ ('ỿ', 'ἇ'),
+ ('ἐ', 'ἕ'),
+ ('ἠ', 'ἧ'),
+ ('ἰ', 'ἷ'),
+ ('ὀ', 'ὅ'),
+ ('ὐ', 'ὗ'),
+ ('ὠ', 'ὧ'),
+ ('ὰ', 'ώ'),
+ ('ᾀ', 'ᾇ'),
+ ('ᾐ', 'ᾗ'),
+ ('ᾠ', 'ᾧ'),
+ ('ᾰ', 'ᾴ'),
+ ('ᾶ', 'ᾷ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῇ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'ῗ'),
+ ('ῠ', 'ῧ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῷ'),
+ ('ℊ', 'ℊ'),
+ ('ℎ', 'ℏ'),
+ ('ℓ', 'ℓ'),
+ ('ℯ', 'ℯ'),
+ ('ℴ', 'ℴ'),
+ ('ℹ', 'ℹ'),
+ ('ℼ', 'ℽ'),
+ ('ⅆ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('ↄ', 'ↄ'),
+ ('ⰰ', 'ⱟ'),
+ ('ⱡ', 'ⱡ'),
+ ('ⱥ', 'ⱦ'),
+ ('ⱨ', 'ⱨ'),
+ ('ⱪ', 'ⱪ'),
+ ('ⱬ', 'ⱬ'),
+ ('ⱱ', 'ⱱ'),
+ ('ⱳ', 'ⱴ'),
+ ('ⱶ', 'ⱻ'),
+ ('ⲁ', 'ⲁ'),
+ ('ⲃ', 'ⲃ'),
+ ('ⲅ', 'ⲅ'),
+ ('ⲇ', 'ⲇ'),
+ ('ⲉ', 'ⲉ'),
+ ('ⲋ', 'ⲋ'),
+ ('ⲍ', 'ⲍ'),
+ ('ⲏ', 'ⲏ'),
+ ('ⲑ', 'ⲑ'),
+ ('ⲓ', 'ⲓ'),
+ ('ⲕ', 'ⲕ'),
+ ('ⲗ', 'ⲗ'),
+ ('ⲙ', 'ⲙ'),
+ ('ⲛ', 'ⲛ'),
+ ('ⲝ', 'ⲝ'),
+ ('ⲟ', 'ⲟ'),
+ ('ⲡ', 'ⲡ'),
+ ('ⲣ', 'ⲣ'),
+ ('ⲥ', 'ⲥ'),
+ ('ⲧ', 'ⲧ'),
+ ('ⲩ', 'ⲩ'),
+ ('ⲫ', 'ⲫ'),
+ ('ⲭ', 'ⲭ'),
+ ('ⲯ', 'ⲯ'),
+ ('ⲱ', 'ⲱ'),
+ ('ⲳ', 'ⲳ'),
+ ('ⲵ', 'ⲵ'),
+ ('ⲷ', 'ⲷ'),
+ ('ⲹ', 'ⲹ'),
+ ('ⲻ', 'ⲻ'),
+ ('ⲽ', 'ⲽ'),
+ ('ⲿ', 'ⲿ'),
+ ('ⳁ', 'ⳁ'),
+ ('ⳃ', 'ⳃ'),
+ ('ⳅ', 'ⳅ'),
+ ('ⳇ', 'ⳇ'),
+ ('ⳉ', 'ⳉ'),
+ ('ⳋ', 'ⳋ'),
+ ('ⳍ', 'ⳍ'),
+ ('ⳏ', 'ⳏ'),
+ ('ⳑ', 'ⳑ'),
+ ('ⳓ', 'ⳓ'),
+ ('ⳕ', 'ⳕ'),
+ ('ⳗ', 'ⳗ'),
+ ('ⳙ', 'ⳙ'),
+ ('ⳛ', 'ⳛ'),
+ ('ⳝ', 'ⳝ'),
+ ('ⳟ', 'ⳟ'),
+ ('ⳡ', 'ⳡ'),
+ ('ⳣ', 'ⳤ'),
+ ('ⳬ', 'ⳬ'),
+ ('ⳮ', 'ⳮ'),
+ ('ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ꙁ', 'ꙁ'),
+ ('ꙃ', 'ꙃ'),
+ ('ꙅ', 'ꙅ'),
+ ('ꙇ', 'ꙇ'),
+ ('ꙉ', 'ꙉ'),
+ ('ꙋ', 'ꙋ'),
+ ('ꙍ', 'ꙍ'),
+ ('ꙏ', 'ꙏ'),
+ ('ꙑ', 'ꙑ'),
+ ('ꙓ', 'ꙓ'),
+ ('ꙕ', 'ꙕ'),
+ ('ꙗ', 'ꙗ'),
+ ('ꙙ', 'ꙙ'),
+ ('ꙛ', 'ꙛ'),
+ ('ꙝ', 'ꙝ'),
+ ('ꙟ', 'ꙟ'),
+ ('ꙡ', 'ꙡ'),
+ ('ꙣ', 'ꙣ'),
+ ('ꙥ', 'ꙥ'),
+ ('ꙧ', 'ꙧ'),
+ ('ꙩ', 'ꙩ'),
+ ('ꙫ', 'ꙫ'),
+ ('ꙭ', 'ꙭ'),
+ ('ꚁ', 'ꚁ'),
+ ('ꚃ', 'ꚃ'),
+ ('ꚅ', 'ꚅ'),
+ ('ꚇ', 'ꚇ'),
+ ('ꚉ', 'ꚉ'),
+ ('ꚋ', 'ꚋ'),
+ ('ꚍ', 'ꚍ'),
+ ('ꚏ', 'ꚏ'),
+ ('ꚑ', 'ꚑ'),
+ ('ꚓ', 'ꚓ'),
+ ('ꚕ', 'ꚕ'),
+ ('ꚗ', 'ꚗ'),
+ ('ꚙ', 'ꚙ'),
+ ('ꚛ', 'ꚛ'),
+ ('ꜣ', 'ꜣ'),
+ ('ꜥ', 'ꜥ'),
+ ('ꜧ', 'ꜧ'),
+ ('ꜩ', 'ꜩ'),
+ ('ꜫ', 'ꜫ'),
+ ('ꜭ', 'ꜭ'),
+ ('ꜯ', 'ꜱ'),
+ ('ꜳ', 'ꜳ'),
+ ('ꜵ', 'ꜵ'),
+ ('ꜷ', 'ꜷ'),
+ ('ꜹ', 'ꜹ'),
+ ('ꜻ', 'ꜻ'),
+ ('ꜽ', 'ꜽ'),
+ ('ꜿ', 'ꜿ'),
+ ('ꝁ', 'ꝁ'),
+ ('ꝃ', 'ꝃ'),
+ ('ꝅ', 'ꝅ'),
+ ('ꝇ', 'ꝇ'),
+ ('ꝉ', 'ꝉ'),
+ ('ꝋ', 'ꝋ'),
+ ('ꝍ', 'ꝍ'),
+ ('ꝏ', 'ꝏ'),
+ ('ꝑ', 'ꝑ'),
+ ('ꝓ', 'ꝓ'),
+ ('ꝕ', 'ꝕ'),
+ ('ꝗ', 'ꝗ'),
+ ('ꝙ', 'ꝙ'),
+ ('ꝛ', 'ꝛ'),
+ ('ꝝ', 'ꝝ'),
+ ('ꝟ', 'ꝟ'),
+ ('ꝡ', 'ꝡ'),
+ ('ꝣ', 'ꝣ'),
+ ('ꝥ', 'ꝥ'),
+ ('ꝧ', 'ꝧ'),
+ ('ꝩ', 'ꝩ'),
+ ('ꝫ', 'ꝫ'),
+ ('ꝭ', 'ꝭ'),
+ ('ꝯ', 'ꝯ'),
+ ('ꝱ', 'ꝸ'),
+ ('ꝺ', 'ꝺ'),
+ ('ꝼ', 'ꝼ'),
+ ('ꝿ', 'ꝿ'),
+ ('ꞁ', 'ꞁ'),
+ ('ꞃ', 'ꞃ'),
+ ('ꞅ', 'ꞅ'),
+ ('ꞇ', 'ꞇ'),
+ ('ꞌ', 'ꞌ'),
+ ('ꞎ', 'ꞎ'),
+ ('ꞑ', 'ꞑ'),
+ ('ꞓ', 'ꞕ'),
+ ('ꞗ', 'ꞗ'),
+ ('ꞙ', 'ꞙ'),
+ ('ꞛ', 'ꞛ'),
+ ('ꞝ', 'ꞝ'),
+ ('ꞟ', 'ꞟ'),
+ ('ꞡ', 'ꞡ'),
+ ('ꞣ', 'ꞣ'),
+ ('ꞥ', 'ꞥ'),
+ ('ꞧ', 'ꞧ'),
+ ('ꞩ', 'ꞩ'),
+ ('ꞯ', 'ꞯ'),
+ ('ꞵ', 'ꞵ'),
+ ('ꞷ', 'ꞷ'),
+ ('ꞹ', 'ꞹ'),
+ ('ꞻ', 'ꞻ'),
+ ('ꞽ', 'ꞽ'),
+ ('ꞿ', 'ꞿ'),
+ ('ꟁ', 'ꟁ'),
+ ('ꟃ', 'ꟃ'),
+ ('ꟈ', 'ꟈ'),
+ ('ꟊ', 'ꟊ'),
+ ('ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟕ'),
+ ('ꟗ', 'ꟗ'),
+ ('ꟙ', 'ꟙ'),
+ ('ꟶ', 'ꟶ'),
+ ('ꟺ', 'ꟺ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭠ', 'ꭨ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('a', 'z'),
+ ('𐐨', '𐑏'),
+ ('𐓘', '𐓻'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐳀', '𐳲'),
+ ('𑣀', '𑣟'),
+ ('𖹠', '𖹿'),
+ ('𝐚', '𝐳'),
+ ('𝑎', '𝑔'),
+ ('𝑖', '𝑧'),
+ ('𝒂', '𝒛'),
+ ('𝒶', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝓏'),
+ ('𝓪', '𝔃'),
+ ('𝔞', '𝔷'),
+ ('𝕒', '𝕫'),
+ ('𝖆', '𝖟'),
+ ('𝖺', '𝗓'),
+ ('𝗮', '𝘇'),
+ ('𝘢', '𝘻'),
+ ('𝙖', '𝙯'),
+ ('𝚊', '𝚥'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛡'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜛'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝕'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞏'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟉'),
+ ('𝟋', '𝟋'),
+ ('𝼀', '𝼉'),
+ ('𝼋', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞤢', '𞥃'),
+];
+
+pub const MARK: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{483}', '\u{489}'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6df}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', '\u{7f3}'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{819}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('\u{898}', '\u{89f}'),
+ ('\u{8ca}', '\u{8e1}'),
+ ('\u{8e3}', 'ः'),
+ ('\u{93a}', '\u{93c}'),
+ ('ा', 'ॏ'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', 'ঃ'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9be}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', '\u{9cd}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', 'ਃ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('\u{abc}', '\u{abc}'),
+ ('ા', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', 'ଃ'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3e}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', 'ಃ'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('ಾ', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('ೳ', 'ೳ'),
+ ('\u{d00}', 'ഃ'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d3e}', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', '\u{d4d}'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', 'ඃ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', 'ෳ'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e47}', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', '༿'),
+ ('\u{f71}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('ါ', '\u{103e}'),
+ ('ၖ', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('ၢ', 'ၤ'),
+ ('ၧ', 'ၭ'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{108d}'),
+ ('ႏ', 'ႏ'),
+ ('ႚ', '\u{109d}'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '᜕'),
+ ('\u{1732}', '᜴'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('\u{1a17}', '\u{1a1b}'),
+ ('ᩕ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', 'ᬄ'),
+ ('\u{1b34}', '᭄'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', 'ᮂ'),
+ ('ᮡ', '\u{1bad}'),
+ ('\u{1be6}', '᯳'),
+ ('ᰤ', '\u{1c37}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('᳷', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{302a}', '\u{302f}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{a66f}', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('ꠣ', 'ꠧ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꢀ', 'ꢁ'),
+ ('ꢴ', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '꥓'),
+ ('\u{a980}', 'ꦃ'),
+ ('\u{a9b3}', '꧀'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', 'ꩍ'),
+ ('ꩻ', 'ꩽ'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('ꫫ', 'ꫯ'),
+ ('ꫵ', '\u{aaf6}'),
+ ('ꯣ', 'ꯪ'),
+ ('꯬', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('𑀀', '𑀂'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '𑂂'),
+ ('𑂰', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{11134}'),
+ ('𑅅', '𑅆'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '𑆂'),
+ ('𑆳', '𑇀'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇎', '\u{111cf}'),
+ ('𑈬', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112ea}'),
+ ('\u{11300}', '𑌃'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{1133e}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍢', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑐵', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b0}', '\u{114c3}'),
+ ('\u{115af}', '\u{115b5}'),
+ ('𑖸', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('𑘰', '\u{11640}'),
+ ('\u{116ab}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑠬', '\u{1183a}'),
+ ('\u{11930}', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{1193e}'),
+ ('𑥀', '𑥀'),
+ ('𑥂', '\u{11943}'),
+ ('𑧑', '\u{119d7}'),
+ ('\u{119da}', '\u{119e0}'),
+ ('𑧤', '𑧤'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '𑨹'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a99}'),
+ ('𑰯', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('𑶊', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '\u{11d97}'),
+ ('\u{11ef3}', '𑻶'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('𑼃', '𑼃'),
+ ('𑼴', '\u{11f3a}'),
+ ('𑼾', '\u{11f42}'),
+ ('\u{13440}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('𖽑', '𖾇'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e4ec}', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e94a}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const MATH_SYMBOL: &'static [(char, char)] = &[
+ ('+', '+'),
+ ('<', '>'),
+ ('|', '|'),
+ ('~', '~'),
+ ('¬', '¬'),
+ ('±', '±'),
+ ('×', '×'),
+ ('÷', '÷'),
+ ('϶', '϶'),
+ ('؆', '؈'),
+ ('⁄', '⁄'),
+ ('⁒', '⁒'),
+ ('⁺', '⁼'),
+ ('₊', '₌'),
+ ('℘', '℘'),
+ ('⅀', '⅄'),
+ ('⅋', '⅋'),
+ ('←', '↔'),
+ ('↚', '↛'),
+ ('↠', '↠'),
+ ('↣', '↣'),
+ ('↦', '↦'),
+ ('↮', '↮'),
+ ('⇎', '⇏'),
+ ('⇒', '⇒'),
+ ('⇔', '⇔'),
+ ('⇴', '⋿'),
+ ('⌠', '⌡'),
+ ('⍼', '⍼'),
+ ('⎛', '⎳'),
+ ('⏜', '⏡'),
+ ('▷', '▷'),
+ ('◁', '◁'),
+ ('◸', '◿'),
+ ('♯', '♯'),
+ ('⟀', '⟄'),
+ ('⟇', '⟥'),
+ ('⟰', '⟿'),
+ ('⤀', '⦂'),
+ ('⦙', '⧗'),
+ ('⧜', '⧻'),
+ ('⧾', '⫿'),
+ ('⬰', '⭄'),
+ ('⭇', '⭌'),
+ ('﬩', '﬩'),
+ ('﹢', '﹢'),
+ ('﹤', '﹦'),
+ ('+', '+'),
+ ('<', '>'),
+ ('|', '|'),
+ ('~', '~'),
+ ('¬', '¬'),
+ ('←', '↓'),
+ ('𝛁', '𝛁'),
+ ('𝛛', '𝛛'),
+ ('𝛻', '𝛻'),
+ ('𝜕', '𝜕'),
+ ('𝜵', '𝜵'),
+ ('𝝏', '𝝏'),
+ ('𝝯', '𝝯'),
+ ('𝞉', '𝞉'),
+ ('𝞩', '𝞩'),
+ ('𝟃', '𝟃'),
+ ('𞻰', '𞻱'),
+];
+
+pub const MODIFIER_LETTER: &'static [(char, char)] = &[
+ ('ʰ', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('ʹ', 'ʹ'),
+ ('ͺ', 'ͺ'),
+ ('ՙ', 'ՙ'),
+ ('ـ', 'ـ'),
+ ('ۥ', 'ۦ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('ࣉ', 'ࣉ'),
+ ('ॱ', 'ॱ'),
+ ('ๆ', 'ๆ'),
+ ('ໆ', 'ໆ'),
+ ('ჼ', 'ჼ'),
+ ('ៗ', 'ៗ'),
+ ('ᡃ', 'ᡃ'),
+ ('ᪧ', 'ᪧ'),
+ ('ᱸ', 'ᱽ'),
+ ('ᴬ', 'ᵪ'),
+ ('ᵸ', 'ᵸ'),
+ ('ᶛ', 'ᶿ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ⱼ', 'ⱽ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '々'),
+ ('〱', '〵'),
+ ('〻', '〻'),
+ ('ゝ', 'ゞ'),
+ ('ー', 'ヾ'),
+ ('ꀕ', 'ꀕ'),
+ ('ꓸ', 'ꓽ'),
+ ('ꘌ', 'ꘌ'),
+ ('ꙿ', 'ꙿ'),
+ ('ꚜ', 'ꚝ'),
+ ('ꜗ', 'ꜟ'),
+ ('ꝰ', 'ꝰ'),
+ ('ꞈ', 'ꞈ'),
+ ('ꟲ', 'ꟴ'),
+ ('ꟸ', 'ꟹ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧦ', 'ꧦ'),
+ ('ꩰ', 'ꩰ'),
+ ('ꫝ', 'ꫝ'),
+ ('ꫳ', 'ꫴ'),
+ ('ꭜ', 'ꭟ'),
+ ('ꭩ', 'ꭩ'),
+ ('ー', 'ー'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𖭀', '𖭃'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𞀰', '𞁭'),
+ ('𞄷', '𞄽'),
+ ('𞓫', '𞓫'),
+ ('𞥋', '𞥋'),
+];
+
+pub const MODIFIER_SYMBOL: &'static [(char, char)] = &[
+ ('^', '^'),
+ ('`', '`'),
+ ('¨', '¨'),
+ ('¯', '¯'),
+ ('´', '´'),
+ ('¸', '¸'),
+ ('˂', '˅'),
+ ('˒', '˟'),
+ ('˥', '˫'),
+ ('˭', '˭'),
+ ('˯', '˿'),
+ ('͵', '͵'),
+ ('΄', '΅'),
+ ('࢈', '࢈'),
+ ('᾽', '᾽'),
+ ('᾿', '῁'),
+ ('῍', '῏'),
+ ('῝', '῟'),
+ ('῭', '`'),
+ ('´', '῾'),
+ ('゛', '゜'),
+ ('꜀', '꜖'),
+ ('꜠', '꜡'),
+ ('꞉', '꞊'),
+ ('꭛', '꭛'),
+ ('꭪', '꭫'),
+ ('﮲', '﯂'),
+ ('^', '^'),
+ ('`', '`'),
+ (' ̄', ' ̄'),
+ ('🏻', '🏿'),
+];
+
+pub const NONSPACING_MARK: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{483}', '\u{487}'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6df}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', '\u{7f3}'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{819}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('\u{898}', '\u{89f}'),
+ ('\u{8ca}', '\u{8e1}'),
+ ('\u{8e3}', '\u{902}'),
+ ('\u{93a}', '\u{93a}'),
+ ('\u{93c}', '\u{93c}'),
+ ('\u{941}', '\u{948}'),
+ ('\u{94d}', '\u{94d}'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', '\u{981}'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9c1}', '\u{9c4}'),
+ ('\u{9cd}', '\u{9cd}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', '\u{a02}'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('\u{a41}', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', '\u{a82}'),
+ ('\u{abc}', '\u{abc}'),
+ ('\u{ac1}', '\u{ac5}'),
+ ('\u{ac7}', '\u{ac8}'),
+ ('\u{acd}', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', '\u{b01}'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3f}', '\u{b3f}'),
+ ('\u{b41}', '\u{b44}'),
+ ('\u{b4d}', '\u{b4d}'),
+ ('\u{b55}', '\u{b56}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bc0}', '\u{bc0}'),
+ ('\u{bcd}', '\u{bcd}'),
+ ('\u{c00}', '\u{c00}'),
+ ('\u{c04}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', '\u{c40}'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', '\u{c81}'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('\u{cbf}', '\u{cbf}'),
+ ('\u{cc6}', '\u{cc6}'),
+ ('\u{ccc}', '\u{ccd}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('\u{d00}', '\u{d01}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d41}', '\u{d44}'),
+ ('\u{d4d}', '\u{d4d}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', '\u{d81}'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dd2}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e47}', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('\u{f71}', '\u{f7e}'),
+ ('\u{f80}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('\u{102d}', '\u{1030}'),
+ ('\u{1032}', '\u{1037}'),
+ ('\u{1039}', '\u{103a}'),
+ ('\u{103d}', '\u{103e}'),
+ ('\u{1058}', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{1082}'),
+ ('\u{1085}', '\u{1086}'),
+ ('\u{108d}', '\u{108d}'),
+ ('\u{109d}', '\u{109d}'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '\u{1714}'),
+ ('\u{1732}', '\u{1733}'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17b5}'),
+ ('\u{17b7}', '\u{17bd}'),
+ ('\u{17c6}', '\u{17c6}'),
+ ('\u{17c9}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', '\u{1922}'),
+ ('\u{1927}', '\u{1928}'),
+ ('\u{1932}', '\u{1932}'),
+ ('\u{1939}', '\u{193b}'),
+ ('\u{1a17}', '\u{1a18}'),
+ ('\u{1a1b}', '\u{1a1b}'),
+ ('\u{1a56}', '\u{1a56}'),
+ ('\u{1a58}', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a60}'),
+ ('\u{1a62}', '\u{1a62}'),
+ ('\u{1a65}', '\u{1a6c}'),
+ ('\u{1a73}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1abd}'),
+ ('\u{1abf}', '\u{1ace}'),
+ ('\u{1b00}', '\u{1b03}'),
+ ('\u{1b34}', '\u{1b34}'),
+ ('\u{1b36}', '\u{1b3a}'),
+ ('\u{1b3c}', '\u{1b3c}'),
+ ('\u{1b42}', '\u{1b42}'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '\u{1b81}'),
+ ('\u{1ba2}', '\u{1ba5}'),
+ ('\u{1ba8}', '\u{1ba9}'),
+ ('\u{1bab}', '\u{1bad}'),
+ ('\u{1be6}', '\u{1be6}'),
+ ('\u{1be8}', '\u{1be9}'),
+ ('\u{1bed}', '\u{1bed}'),
+ ('\u{1bef}', '\u{1bf1}'),
+ ('\u{1c2c}', '\u{1c33}'),
+ ('\u{1c36}', '\u{1c37}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce0}'),
+ ('\u{1ce2}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{20d0}', '\u{20dc}'),
+ ('\u{20e1}', '\u{20e1}'),
+ ('\u{20e5}', '\u{20f0}'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{302a}', '\u{302d}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{a66f}', '\u{a66f}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('\u{a825}', '\u{a826}'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('\u{a8c4}', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '\u{a951}'),
+ ('\u{a980}', '\u{a982}'),
+ ('\u{a9b3}', '\u{a9b3}'),
+ ('\u{a9b6}', '\u{a9b9}'),
+ ('\u{a9bc}', '\u{a9bd}'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa2e}'),
+ ('\u{aa31}', '\u{aa32}'),
+ ('\u{aa35}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', '\u{aa4c}'),
+ ('\u{aa7c}', '\u{aa7c}'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('\u{aaec}', '\u{aaed}'),
+ ('\u{aaf6}', '\u{aaf6}'),
+ ('\u{abe5}', '\u{abe5}'),
+ ('\u{abe8}', '\u{abe8}'),
+ ('\u{abed}', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('\u{11001}', '\u{11001}'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '\u{11081}'),
+ ('\u{110b3}', '\u{110b6}'),
+ ('\u{110b9}', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{1112b}'),
+ ('\u{1112d}', '\u{11134}'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '\u{11181}'),
+ ('\u{111b6}', '\u{111be}'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('\u{111cf}', '\u{111cf}'),
+ ('\u{1122f}', '\u{11231}'),
+ ('\u{11234}', '\u{11234}'),
+ ('\u{11236}', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112df}'),
+ ('\u{112e3}', '\u{112ea}'),
+ ('\u{11300}', '\u{11301}'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{11340}', '\u{11340}'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('\u{11438}', '\u{1143f}'),
+ ('\u{11442}', '\u{11444}'),
+ ('\u{11446}', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b3}', '\u{114b8}'),
+ ('\u{114ba}', '\u{114ba}'),
+ ('\u{114bf}', '\u{114c0}'),
+ ('\u{114c2}', '\u{114c3}'),
+ ('\u{115b2}', '\u{115b5}'),
+ ('\u{115bc}', '\u{115bd}'),
+ ('\u{115bf}', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('\u{11633}', '\u{1163a}'),
+ ('\u{1163d}', '\u{1163d}'),
+ ('\u{1163f}', '\u{11640}'),
+ ('\u{116ab}', '\u{116ab}'),
+ ('\u{116ad}', '\u{116ad}'),
+ ('\u{116b0}', '\u{116b5}'),
+ ('\u{116b7}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1171f}'),
+ ('\u{11722}', '\u{11725}'),
+ ('\u{11727}', '\u{1172b}'),
+ ('\u{1182f}', '\u{11837}'),
+ ('\u{11839}', '\u{1183a}'),
+ ('\u{1193b}', '\u{1193c}'),
+ ('\u{1193e}', '\u{1193e}'),
+ ('\u{11943}', '\u{11943}'),
+ ('\u{119d4}', '\u{119d7}'),
+ ('\u{119da}', '\u{119db}'),
+ ('\u{119e0}', '\u{119e0}'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '\u{11a38}'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a56}'),
+ ('\u{11a59}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a96}'),
+ ('\u{11a98}', '\u{11a99}'),
+ ('\u{11c30}', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3d}'),
+ ('\u{11c3f}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('\u{11caa}', '\u{11cb0}'),
+ ('\u{11cb2}', '\u{11cb3}'),
+ ('\u{11cb5}', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('\u{11d95}', '\u{11d95}'),
+ ('\u{11d97}', '\u{11d97}'),
+ ('\u{11ef3}', '\u{11ef4}'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('\u{11f36}', '\u{11f3a}'),
+ ('\u{11f40}', '\u{11f40}'),
+ ('\u{11f42}', '\u{11f42}'),
+ ('\u{13440}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e4ec}', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e94a}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const NUMBER: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('²', '³'),
+ ('¹', '¹'),
+ ('¼', '¾'),
+ ('٠', '٩'),
+ ('۰', '۹'),
+ ('߀', '߉'),
+ ('०', '९'),
+ ('০', '৯'),
+ ('৴', '৹'),
+ ('੦', '੯'),
+ ('૦', '૯'),
+ ('୦', '୯'),
+ ('୲', '୷'),
+ ('௦', '௲'),
+ ('౦', '౯'),
+ ('౸', '౾'),
+ ('೦', '೯'),
+ ('൘', '൞'),
+ ('൦', '൸'),
+ ('෦', '෯'),
+ ('๐', '๙'),
+ ('໐', '໙'),
+ ('༠', '༳'),
+ ('၀', '၉'),
+ ('႐', '႙'),
+ ('፩', '፼'),
+ ('ᛮ', 'ᛰ'),
+ ('០', '៩'),
+ ('៰', '៹'),
+ ('᠐', '᠙'),
+ ('᥆', '᥏'),
+ ('᧐', '᧚'),
+ ('᪀', '᪉'),
+ ('᪐', '᪙'),
+ ('᭐', '᭙'),
+ ('᮰', '᮹'),
+ ('᱀', '᱉'),
+ ('᱐', '᱙'),
+ ('⁰', '⁰'),
+ ('⁴', '⁹'),
+ ('₀', '₉'),
+ ('⅐', 'ↂ'),
+ ('ↅ', '↉'),
+ ('①', '⒛'),
+ ('⓪', '⓿'),
+ ('❶', '➓'),
+ ('⳽', '⳽'),
+ ('〇', '〇'),
+ ('〡', '〩'),
+ ('〸', '〺'),
+ ('㆒', '㆕'),
+ ('㈠', '㈩'),
+ ('㉈', '㉏'),
+ ('㉑', '㉟'),
+ ('㊀', '㊉'),
+ ('㊱', '㊿'),
+ ('꘠', '꘩'),
+ ('ꛦ', 'ꛯ'),
+ ('꠰', '꠵'),
+ ('꣐', '꣙'),
+ ('꤀', '꤉'),
+ ('꧐', '꧙'),
+ ('꧰', '꧹'),
+ ('꩐', '꩙'),
+ ('꯰', '꯹'),
+ ('0', '9'),
+ ('𐄇', '𐄳'),
+ ('𐅀', '𐅸'),
+ ('𐆊', '𐆋'),
+ ('𐋡', '𐋻'),
+ ('𐌠', '𐌣'),
+ ('𐍁', '𐍁'),
+ ('𐍊', '𐍊'),
+ ('𐏑', '𐏕'),
+ ('𐒠', '𐒩'),
+ ('𐡘', '𐡟'),
+ ('𐡹', '𐡿'),
+ ('𐢧', '𐢯'),
+ ('𐣻', '𐣿'),
+ ('𐤖', '𐤛'),
+ ('𐦼', '𐦽'),
+ ('𐧀', '𐧏'),
+ ('𐧒', '𐧿'),
+ ('𐩀', '𐩈'),
+ ('𐩽', '𐩾'),
+ ('𐪝', '𐪟'),
+ ('𐫫', '𐫯'),
+ ('𐭘', '𐭟'),
+ ('𐭸', '𐭿'),
+ ('𐮩', '𐮯'),
+ ('𐳺', '𐳿'),
+ ('𐴰', '𐴹'),
+ ('𐹠', '𐹾'),
+ ('𐼝', '𐼦'),
+ ('𐽑', '𐽔'),
+ ('𐿅', '𐿋'),
+ ('𑁒', '𑁯'),
+ ('𑃰', '𑃹'),
+ ('𑄶', '𑄿'),
+ ('𑇐', '𑇙'),
+ ('𑇡', '𑇴'),
+ ('𑋰', '𑋹'),
+ ('𑑐', '𑑙'),
+ ('𑓐', '𑓙'),
+ ('𑙐', '𑙙'),
+ ('𑛀', '𑛉'),
+ ('𑜰', '𑜻'),
+ ('𑣠', '𑣲'),
+ ('𑥐', '𑥙'),
+ ('𑱐', '𑱬'),
+ ('𑵐', '𑵙'),
+ ('𑶠', '𑶩'),
+ ('𑽐', '𑽙'),
+ ('𑿀', '𑿔'),
+ ('𒐀', '𒑮'),
+ ('𖩠', '𖩩'),
+ ('𖫀', '𖫉'),
+ ('𖭐', '𖭙'),
+ ('𖭛', '𖭡'),
+ ('𖺀', '𖺖'),
+ ('𝋀', '𝋓'),
+ ('𝋠', '𝋳'),
+ ('𝍠', '𝍸'),
+ ('𝟎', '𝟿'),
+ ('𞅀', '𞅉'),
+ ('𞋰', '𞋹'),
+ ('𞓰', '𞓹'),
+ ('𞣇', '𞣏'),
+ ('𞥐', '𞥙'),
+ ('𞱱', '𞲫'),
+ ('𞲭', '𞲯'),
+ ('𞲱', '𞲴'),
+ ('𞴁', '𞴭'),
+ ('𞴯', '𞴽'),
+ ('🄀', '🄌'),
+ ('🯰', '🯹'),
+];
+
+pub const OPEN_PUNCTUATION: &'static [(char, char)] = &[
+ ('(', '('),
+ ('[', '['),
+ ('{', '{'),
+ ('༺', '༺'),
+ ('༼', '༼'),
+ ('᚛', '᚛'),
+ ('‚', '‚'),
+ ('„', '„'),
+ ('⁅', '⁅'),
+ ('⁽', '⁽'),
+ ('₍', '₍'),
+ ('⌈', '⌈'),
+ ('⌊', '⌊'),
+ ('〈', '〈'),
+ ('❨', '❨'),
+ ('❪', '❪'),
+ ('❬', '❬'),
+ ('❮', '❮'),
+ ('❰', '❰'),
+ ('❲', '❲'),
+ ('❴', '❴'),
+ ('⟅', '⟅'),
+ ('⟦', '⟦'),
+ ('⟨', '⟨'),
+ ('⟪', '⟪'),
+ ('⟬', '⟬'),
+ ('⟮', '⟮'),
+ ('⦃', '⦃'),
+ ('⦅', '⦅'),
+ ('⦇', '⦇'),
+ ('⦉', '⦉'),
+ ('⦋', '⦋'),
+ ('⦍', '⦍'),
+ ('⦏', '⦏'),
+ ('⦑', '⦑'),
+ ('⦓', '⦓'),
+ ('⦕', '⦕'),
+ ('⦗', '⦗'),
+ ('⧘', '⧘'),
+ ('⧚', '⧚'),
+ ('⧼', '⧼'),
+ ('⸢', '⸢'),
+ ('⸤', '⸤'),
+ ('⸦', '⸦'),
+ ('⸨', '⸨'),
+ ('⹂', '⹂'),
+ ('⹕', '⹕'),
+ ('⹗', '⹗'),
+ ('⹙', '⹙'),
+ ('⹛', '⹛'),
+ ('〈', '〈'),
+ ('《', '《'),
+ ('「', '「'),
+ ('『', '『'),
+ ('【', '【'),
+ ('〔', '〔'),
+ ('〖', '〖'),
+ ('〘', '〘'),
+ ('〚', '〚'),
+ ('〝', '〝'),
+ ('﴿', '﴿'),
+ ('︗', '︗'),
+ ('︵', '︵'),
+ ('︷', '︷'),
+ ('︹', '︹'),
+ ('︻', '︻'),
+ ('︽', '︽'),
+ ('︿', '︿'),
+ ('﹁', '﹁'),
+ ('﹃', '﹃'),
+ ('﹇', '﹇'),
+ ('﹙', '﹙'),
+ ('﹛', '﹛'),
+ ('﹝', '﹝'),
+ ('(', '('),
+ ('[', '['),
+ ('{', '{'),
+ ('⦅', '⦅'),
+ ('「', '「'),
+];
+
+pub const OTHER: &'static [(char, char)] = &[
+ ('\0', '\u{1f}'),
+ ('\u{7f}', '\u{9f}'),
+ ('\u{ad}', '\u{ad}'),
+ ('\u{378}', '\u{379}'),
+ ('\u{380}', '\u{383}'),
+ ('\u{38b}', '\u{38b}'),
+ ('\u{38d}', '\u{38d}'),
+ ('\u{3a2}', '\u{3a2}'),
+ ('\u{530}', '\u{530}'),
+ ('\u{557}', '\u{558}'),
+ ('\u{58b}', '\u{58c}'),
+ ('\u{590}', '\u{590}'),
+ ('\u{5c8}', '\u{5cf}'),
+ ('\u{5eb}', '\u{5ee}'),
+ ('\u{5f5}', '\u{605}'),
+ ('\u{61c}', '\u{61c}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{70e}', '\u{70f}'),
+ ('\u{74b}', '\u{74c}'),
+ ('\u{7b2}', '\u{7bf}'),
+ ('\u{7fb}', '\u{7fc}'),
+ ('\u{82e}', '\u{82f}'),
+ ('\u{83f}', '\u{83f}'),
+ ('\u{85c}', '\u{85d}'),
+ ('\u{85f}', '\u{85f}'),
+ ('\u{86b}', '\u{86f}'),
+ ('\u{88f}', '\u{897}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('\u{984}', '\u{984}'),
+ ('\u{98d}', '\u{98e}'),
+ ('\u{991}', '\u{992}'),
+ ('\u{9a9}', '\u{9a9}'),
+ ('\u{9b1}', '\u{9b1}'),
+ ('\u{9b3}', '\u{9b5}'),
+ ('\u{9ba}', '\u{9bb}'),
+ ('\u{9c5}', '\u{9c6}'),
+ ('\u{9c9}', '\u{9ca}'),
+ ('\u{9cf}', '\u{9d6}'),
+ ('\u{9d8}', '\u{9db}'),
+ ('\u{9de}', '\u{9de}'),
+ ('\u{9e4}', '\u{9e5}'),
+ ('\u{9ff}', '\u{a00}'),
+ ('\u{a04}', '\u{a04}'),
+ ('\u{a0b}', '\u{a0e}'),
+ ('\u{a11}', '\u{a12}'),
+ ('\u{a29}', '\u{a29}'),
+ ('\u{a31}', '\u{a31}'),
+ ('\u{a34}', '\u{a34}'),
+ ('\u{a37}', '\u{a37}'),
+ ('\u{a3a}', '\u{a3b}'),
+ ('\u{a3d}', '\u{a3d}'),
+ ('\u{a43}', '\u{a46}'),
+ ('\u{a49}', '\u{a4a}'),
+ ('\u{a4e}', '\u{a50}'),
+ ('\u{a52}', '\u{a58}'),
+ ('\u{a5d}', '\u{a5d}'),
+ ('\u{a5f}', '\u{a65}'),
+ ('\u{a77}', '\u{a80}'),
+ ('\u{a84}', '\u{a84}'),
+ ('\u{a8e}', '\u{a8e}'),
+ ('\u{a92}', '\u{a92}'),
+ ('\u{aa9}', '\u{aa9}'),
+ ('\u{ab1}', '\u{ab1}'),
+ ('\u{ab4}', '\u{ab4}'),
+ ('\u{aba}', '\u{abb}'),
+ ('\u{ac6}', '\u{ac6}'),
+ ('\u{aca}', '\u{aca}'),
+ ('\u{ace}', '\u{acf}'),
+ ('\u{ad1}', '\u{adf}'),
+ ('\u{ae4}', '\u{ae5}'),
+ ('\u{af2}', '\u{af8}'),
+ ('\u{b00}', '\u{b00}'),
+ ('\u{b04}', '\u{b04}'),
+ ('\u{b0d}', '\u{b0e}'),
+ ('\u{b11}', '\u{b12}'),
+ ('\u{b29}', '\u{b29}'),
+ ('\u{b31}', '\u{b31}'),
+ ('\u{b34}', '\u{b34}'),
+ ('\u{b3a}', '\u{b3b}'),
+ ('\u{b45}', '\u{b46}'),
+ ('\u{b49}', '\u{b4a}'),
+ ('\u{b4e}', '\u{b54}'),
+ ('\u{b58}', '\u{b5b}'),
+ ('\u{b5e}', '\u{b5e}'),
+ ('\u{b64}', '\u{b65}'),
+ ('\u{b78}', '\u{b81}'),
+ ('\u{b84}', '\u{b84}'),
+ ('\u{b8b}', '\u{b8d}'),
+ ('\u{b91}', '\u{b91}'),
+ ('\u{b96}', '\u{b98}'),
+ ('\u{b9b}', '\u{b9b}'),
+ ('\u{b9d}', '\u{b9d}'),
+ ('\u{ba0}', '\u{ba2}'),
+ ('\u{ba5}', '\u{ba7}'),
+ ('\u{bab}', '\u{bad}'),
+ ('\u{bba}', '\u{bbd}'),
+ ('\u{bc3}', '\u{bc5}'),
+ ('\u{bc9}', '\u{bc9}'),
+ ('\u{bce}', '\u{bcf}'),
+ ('\u{bd1}', '\u{bd6}'),
+ ('\u{bd8}', '\u{be5}'),
+ ('\u{bfb}', '\u{bff}'),
+ ('\u{c0d}', '\u{c0d}'),
+ ('\u{c11}', '\u{c11}'),
+ ('\u{c29}', '\u{c29}'),
+ ('\u{c3a}', '\u{c3b}'),
+ ('\u{c45}', '\u{c45}'),
+ ('\u{c49}', '\u{c49}'),
+ ('\u{c4e}', '\u{c54}'),
+ ('\u{c57}', '\u{c57}'),
+ ('\u{c5b}', '\u{c5c}'),
+ ('\u{c5e}', '\u{c5f}'),
+ ('\u{c64}', '\u{c65}'),
+ ('\u{c70}', '\u{c76}'),
+ ('\u{c8d}', '\u{c8d}'),
+ ('\u{c91}', '\u{c91}'),
+ ('\u{ca9}', '\u{ca9}'),
+ ('\u{cb4}', '\u{cb4}'),
+ ('\u{cba}', '\u{cbb}'),
+ ('\u{cc5}', '\u{cc5}'),
+ ('\u{cc9}', '\u{cc9}'),
+ ('\u{cce}', '\u{cd4}'),
+ ('\u{cd7}', '\u{cdc}'),
+ ('\u{cdf}', '\u{cdf}'),
+ ('\u{ce4}', '\u{ce5}'),
+ ('\u{cf0}', '\u{cf0}'),
+ ('\u{cf4}', '\u{cff}'),
+ ('\u{d0d}', '\u{d0d}'),
+ ('\u{d11}', '\u{d11}'),
+ ('\u{d45}', '\u{d45}'),
+ ('\u{d49}', '\u{d49}'),
+ ('\u{d50}', '\u{d53}'),
+ ('\u{d64}', '\u{d65}'),
+ ('\u{d80}', '\u{d80}'),
+ ('\u{d84}', '\u{d84}'),
+ ('\u{d97}', '\u{d99}'),
+ ('\u{db2}', '\u{db2}'),
+ ('\u{dbc}', '\u{dbc}'),
+ ('\u{dbe}', '\u{dbf}'),
+ ('\u{dc7}', '\u{dc9}'),
+ ('\u{dcb}', '\u{dce}'),
+ ('\u{dd5}', '\u{dd5}'),
+ ('\u{dd7}', '\u{dd7}'),
+ ('\u{de0}', '\u{de5}'),
+ ('\u{df0}', '\u{df1}'),
+ ('\u{df5}', '\u{e00}'),
+ ('\u{e3b}', '\u{e3e}'),
+ ('\u{e5c}', '\u{e80}'),
+ ('\u{e83}', '\u{e83}'),
+ ('\u{e85}', '\u{e85}'),
+ ('\u{e8b}', '\u{e8b}'),
+ ('\u{ea4}', '\u{ea4}'),
+ ('\u{ea6}', '\u{ea6}'),
+ ('\u{ebe}', '\u{ebf}'),
+ ('\u{ec5}', '\u{ec5}'),
+ ('\u{ec7}', '\u{ec7}'),
+ ('\u{ecf}', '\u{ecf}'),
+ ('\u{eda}', '\u{edb}'),
+ ('\u{ee0}', '\u{eff}'),
+ ('\u{f48}', '\u{f48}'),
+ ('\u{f6d}', '\u{f70}'),
+ ('\u{f98}', '\u{f98}'),
+ ('\u{fbd}', '\u{fbd}'),
+ ('\u{fcd}', '\u{fcd}'),
+ ('\u{fdb}', '\u{fff}'),
+ ('\u{10c6}', '\u{10c6}'),
+ ('\u{10c8}', '\u{10cc}'),
+ ('\u{10ce}', '\u{10cf}'),
+ ('\u{1249}', '\u{1249}'),
+ ('\u{124e}', '\u{124f}'),
+ ('\u{1257}', '\u{1257}'),
+ ('\u{1259}', '\u{1259}'),
+ ('\u{125e}', '\u{125f}'),
+ ('\u{1289}', '\u{1289}'),
+ ('\u{128e}', '\u{128f}'),
+ ('\u{12b1}', '\u{12b1}'),
+ ('\u{12b6}', '\u{12b7}'),
+ ('\u{12bf}', '\u{12bf}'),
+ ('\u{12c1}', '\u{12c1}'),
+ ('\u{12c6}', '\u{12c7}'),
+ ('\u{12d7}', '\u{12d7}'),
+ ('\u{1311}', '\u{1311}'),
+ ('\u{1316}', '\u{1317}'),
+ ('\u{135b}', '\u{135c}'),
+ ('\u{137d}', '\u{137f}'),
+ ('\u{139a}', '\u{139f}'),
+ ('\u{13f6}', '\u{13f7}'),
+ ('\u{13fe}', '\u{13ff}'),
+ ('\u{169d}', '\u{169f}'),
+ ('\u{16f9}', '\u{16ff}'),
+ ('\u{1716}', '\u{171e}'),
+ ('\u{1737}', '\u{173f}'),
+ ('\u{1754}', '\u{175f}'),
+ ('\u{176d}', '\u{176d}'),
+ ('\u{1771}', '\u{1771}'),
+ ('\u{1774}', '\u{177f}'),
+ ('\u{17de}', '\u{17df}'),
+ ('\u{17ea}', '\u{17ef}'),
+ ('\u{17fa}', '\u{17ff}'),
+ ('\u{180e}', '\u{180e}'),
+ ('\u{181a}', '\u{181f}'),
+ ('\u{1879}', '\u{187f}'),
+ ('\u{18ab}', '\u{18af}'),
+ ('\u{18f6}', '\u{18ff}'),
+ ('\u{191f}', '\u{191f}'),
+ ('\u{192c}', '\u{192f}'),
+ ('\u{193c}', '\u{193f}'),
+ ('\u{1941}', '\u{1943}'),
+ ('\u{196e}', '\u{196f}'),
+ ('\u{1975}', '\u{197f}'),
+ ('\u{19ac}', '\u{19af}'),
+ ('\u{19ca}', '\u{19cf}'),
+ ('\u{19db}', '\u{19dd}'),
+ ('\u{1a1c}', '\u{1a1d}'),
+ ('\u{1a5f}', '\u{1a5f}'),
+ ('\u{1a7d}', '\u{1a7e}'),
+ ('\u{1a8a}', '\u{1a8f}'),
+ ('\u{1a9a}', '\u{1a9f}'),
+ ('\u{1aae}', '\u{1aaf}'),
+ ('\u{1acf}', '\u{1aff}'),
+ ('\u{1b4d}', '\u{1b4f}'),
+ ('\u{1b7f}', '\u{1b7f}'),
+ ('\u{1bf4}', '\u{1bfb}'),
+ ('\u{1c38}', '\u{1c3a}'),
+ ('\u{1c4a}', '\u{1c4c}'),
+ ('\u{1c89}', '\u{1c8f}'),
+ ('\u{1cbb}', '\u{1cbc}'),
+ ('\u{1cc8}', '\u{1ccf}'),
+ ('\u{1cfb}', '\u{1cff}'),
+ ('\u{1f16}', '\u{1f17}'),
+ ('\u{1f1e}', '\u{1f1f}'),
+ ('\u{1f46}', '\u{1f47}'),
+ ('\u{1f4e}', '\u{1f4f}'),
+ ('\u{1f58}', '\u{1f58}'),
+ ('\u{1f5a}', '\u{1f5a}'),
+ ('\u{1f5c}', '\u{1f5c}'),
+ ('\u{1f5e}', '\u{1f5e}'),
+ ('\u{1f7e}', '\u{1f7f}'),
+ ('\u{1fb5}', '\u{1fb5}'),
+ ('\u{1fc5}', '\u{1fc5}'),
+ ('\u{1fd4}', '\u{1fd5}'),
+ ('\u{1fdc}', '\u{1fdc}'),
+ ('\u{1ff0}', '\u{1ff1}'),
+ ('\u{1ff5}', '\u{1ff5}'),
+ ('\u{1fff}', '\u{1fff}'),
+ ('\u{200b}', '\u{200f}'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2060}', '\u{206f}'),
+ ('\u{2072}', '\u{2073}'),
+ ('\u{208f}', '\u{208f}'),
+ ('\u{209d}', '\u{209f}'),
+ ('\u{20c1}', '\u{20cf}'),
+ ('\u{20f1}', '\u{20ff}'),
+ ('\u{218c}', '\u{218f}'),
+ ('\u{2427}', '\u{243f}'),
+ ('\u{244b}', '\u{245f}'),
+ ('\u{2b74}', '\u{2b75}'),
+ ('\u{2b96}', '\u{2b96}'),
+ ('\u{2cf4}', '\u{2cf8}'),
+ ('\u{2d26}', '\u{2d26}'),
+ ('\u{2d28}', '\u{2d2c}'),
+ ('\u{2d2e}', '\u{2d2f}'),
+ ('\u{2d68}', '\u{2d6e}'),
+ ('\u{2d71}', '\u{2d7e}'),
+ ('\u{2d97}', '\u{2d9f}'),
+ ('\u{2da7}', '\u{2da7}'),
+ ('\u{2daf}', '\u{2daf}'),
+ ('\u{2db7}', '\u{2db7}'),
+ ('\u{2dbf}', '\u{2dbf}'),
+ ('\u{2dc7}', '\u{2dc7}'),
+ ('\u{2dcf}', '\u{2dcf}'),
+ ('\u{2dd7}', '\u{2dd7}'),
+ ('\u{2ddf}', '\u{2ddf}'),
+ ('\u{2e5e}', '\u{2e7f}'),
+ ('\u{2e9a}', '\u{2e9a}'),
+ ('\u{2ef4}', '\u{2eff}'),
+ ('\u{2fd6}', '\u{2fef}'),
+ ('\u{2ffc}', '\u{2fff}'),
+ ('\u{3040}', '\u{3040}'),
+ ('\u{3097}', '\u{3098}'),
+ ('\u{3100}', '\u{3104}'),
+ ('\u{3130}', '\u{3130}'),
+ ('\u{318f}', '\u{318f}'),
+ ('\u{31e4}', '\u{31ef}'),
+ ('\u{321f}', '\u{321f}'),
+ ('\u{a48d}', '\u{a48f}'),
+ ('\u{a4c7}', '\u{a4cf}'),
+ ('\u{a62c}', '\u{a63f}'),
+ ('\u{a6f8}', '\u{a6ff}'),
+ ('\u{a7cb}', '\u{a7cf}'),
+ ('\u{a7d2}', '\u{a7d2}'),
+ ('\u{a7d4}', '\u{a7d4}'),
+ ('\u{a7da}', '\u{a7f1}'),
+ ('\u{a82d}', '\u{a82f}'),
+ ('\u{a83a}', '\u{a83f}'),
+ ('\u{a878}', '\u{a87f}'),
+ ('\u{a8c6}', '\u{a8cd}'),
+ ('\u{a8da}', '\u{a8df}'),
+ ('\u{a954}', '\u{a95e}'),
+ ('\u{a97d}', '\u{a97f}'),
+ ('\u{a9ce}', '\u{a9ce}'),
+ ('\u{a9da}', '\u{a9dd}'),
+ ('\u{a9ff}', '\u{a9ff}'),
+ ('\u{aa37}', '\u{aa3f}'),
+ ('\u{aa4e}', '\u{aa4f}'),
+ ('\u{aa5a}', '\u{aa5b}'),
+ ('\u{aac3}', '\u{aada}'),
+ ('\u{aaf7}', '\u{ab00}'),
+ ('\u{ab07}', '\u{ab08}'),
+ ('\u{ab0f}', '\u{ab10}'),
+ ('\u{ab17}', '\u{ab1f}'),
+ ('\u{ab27}', '\u{ab27}'),
+ ('\u{ab2f}', '\u{ab2f}'),
+ ('\u{ab6c}', '\u{ab6f}'),
+ ('\u{abee}', '\u{abef}'),
+ ('\u{abfa}', '\u{abff}'),
+ ('\u{d7a4}', '\u{d7af}'),
+ ('\u{d7c7}', '\u{d7ca}'),
+ ('\u{d7fc}', '\u{f8ff}'),
+ ('\u{fa6e}', '\u{fa6f}'),
+ ('\u{fada}', '\u{faff}'),
+ ('\u{fb07}', '\u{fb12}'),
+ ('\u{fb18}', '\u{fb1c}'),
+ ('\u{fb37}', '\u{fb37}'),
+ ('\u{fb3d}', '\u{fb3d}'),
+ ('\u{fb3f}', '\u{fb3f}'),
+ ('\u{fb42}', '\u{fb42}'),
+ ('\u{fb45}', '\u{fb45}'),
+ ('\u{fbc3}', '\u{fbd2}'),
+ ('\u{fd90}', '\u{fd91}'),
+ ('\u{fdc8}', '\u{fdce}'),
+ ('\u{fdd0}', '\u{fdef}'),
+ ('\u{fe1a}', '\u{fe1f}'),
+ ('\u{fe53}', '\u{fe53}'),
+ ('\u{fe67}', '\u{fe67}'),
+ ('\u{fe6c}', '\u{fe6f}'),
+ ('\u{fe75}', '\u{fe75}'),
+ ('\u{fefd}', '\u{ff00}'),
+ ('\u{ffbf}', '\u{ffc1}'),
+ ('\u{ffc8}', '\u{ffc9}'),
+ ('\u{ffd0}', '\u{ffd1}'),
+ ('\u{ffd8}', '\u{ffd9}'),
+ ('\u{ffdd}', '\u{ffdf}'),
+ ('\u{ffe7}', '\u{ffe7}'),
+ ('\u{ffef}', '\u{fffb}'),
+ ('\u{fffe}', '\u{ffff}'),
+ ('\u{1000c}', '\u{1000c}'),
+ ('\u{10027}', '\u{10027}'),
+ ('\u{1003b}', '\u{1003b}'),
+ ('\u{1003e}', '\u{1003e}'),
+ ('\u{1004e}', '\u{1004f}'),
+ ('\u{1005e}', '\u{1007f}'),
+ ('\u{100fb}', '\u{100ff}'),
+ ('\u{10103}', '\u{10106}'),
+ ('\u{10134}', '\u{10136}'),
+ ('\u{1018f}', '\u{1018f}'),
+ ('\u{1019d}', '\u{1019f}'),
+ ('\u{101a1}', '\u{101cf}'),
+ ('\u{101fe}', '\u{1027f}'),
+ ('\u{1029d}', '\u{1029f}'),
+ ('\u{102d1}', '\u{102df}'),
+ ('\u{102fc}', '\u{102ff}'),
+ ('\u{10324}', '\u{1032c}'),
+ ('\u{1034b}', '\u{1034f}'),
+ ('\u{1037b}', '\u{1037f}'),
+ ('\u{1039e}', '\u{1039e}'),
+ ('\u{103c4}', '\u{103c7}'),
+ ('\u{103d6}', '\u{103ff}'),
+ ('\u{1049e}', '\u{1049f}'),
+ ('\u{104aa}', '\u{104af}'),
+ ('\u{104d4}', '\u{104d7}'),
+ ('\u{104fc}', '\u{104ff}'),
+ ('\u{10528}', '\u{1052f}'),
+ ('\u{10564}', '\u{1056e}'),
+ ('\u{1057b}', '\u{1057b}'),
+ ('\u{1058b}', '\u{1058b}'),
+ ('\u{10593}', '\u{10593}'),
+ ('\u{10596}', '\u{10596}'),
+ ('\u{105a2}', '\u{105a2}'),
+ ('\u{105b2}', '\u{105b2}'),
+ ('\u{105ba}', '\u{105ba}'),
+ ('\u{105bd}', '\u{105ff}'),
+ ('\u{10737}', '\u{1073f}'),
+ ('\u{10756}', '\u{1075f}'),
+ ('\u{10768}', '\u{1077f}'),
+ ('\u{10786}', '\u{10786}'),
+ ('\u{107b1}', '\u{107b1}'),
+ ('\u{107bb}', '\u{107ff}'),
+ ('\u{10806}', '\u{10807}'),
+ ('\u{10809}', '\u{10809}'),
+ ('\u{10836}', '\u{10836}'),
+ ('\u{10839}', '\u{1083b}'),
+ ('\u{1083d}', '\u{1083e}'),
+ ('\u{10856}', '\u{10856}'),
+ ('\u{1089f}', '\u{108a6}'),
+ ('\u{108b0}', '\u{108df}'),
+ ('\u{108f3}', '\u{108f3}'),
+ ('\u{108f6}', '\u{108fa}'),
+ ('\u{1091c}', '\u{1091e}'),
+ ('\u{1093a}', '\u{1093e}'),
+ ('\u{10940}', '\u{1097f}'),
+ ('\u{109b8}', '\u{109bb}'),
+ ('\u{109d0}', '\u{109d1}'),
+ ('\u{10a04}', '\u{10a04}'),
+ ('\u{10a07}', '\u{10a0b}'),
+ ('\u{10a14}', '\u{10a14}'),
+ ('\u{10a18}', '\u{10a18}'),
+ ('\u{10a36}', '\u{10a37}'),
+ ('\u{10a3b}', '\u{10a3e}'),
+ ('\u{10a49}', '\u{10a4f}'),
+ ('\u{10a59}', '\u{10a5f}'),
+ ('\u{10aa0}', '\u{10abf}'),
+ ('\u{10ae7}', '\u{10aea}'),
+ ('\u{10af7}', '\u{10aff}'),
+ ('\u{10b36}', '\u{10b38}'),
+ ('\u{10b56}', '\u{10b57}'),
+ ('\u{10b73}', '\u{10b77}'),
+ ('\u{10b92}', '\u{10b98}'),
+ ('\u{10b9d}', '\u{10ba8}'),
+ ('\u{10bb0}', '\u{10bff}'),
+ ('\u{10c49}', '\u{10c7f}'),
+ ('\u{10cb3}', '\u{10cbf}'),
+ ('\u{10cf3}', '\u{10cf9}'),
+ ('\u{10d28}', '\u{10d2f}'),
+ ('\u{10d3a}', '\u{10e5f}'),
+ ('\u{10e7f}', '\u{10e7f}'),
+ ('\u{10eaa}', '\u{10eaa}'),
+ ('\u{10eae}', '\u{10eaf}'),
+ ('\u{10eb2}', '\u{10efc}'),
+ ('\u{10f28}', '\u{10f2f}'),
+ ('\u{10f5a}', '\u{10f6f}'),
+ ('\u{10f8a}', '\u{10faf}'),
+ ('\u{10fcc}', '\u{10fdf}'),
+ ('\u{10ff7}', '\u{10fff}'),
+ ('\u{1104e}', '\u{11051}'),
+ ('\u{11076}', '\u{1107e}'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110c3}', '\u{110cf}'),
+ ('\u{110e9}', '\u{110ef}'),
+ ('\u{110fa}', '\u{110ff}'),
+ ('\u{11135}', '\u{11135}'),
+ ('\u{11148}', '\u{1114f}'),
+ ('\u{11177}', '\u{1117f}'),
+ ('\u{111e0}', '\u{111e0}'),
+ ('\u{111f5}', '\u{111ff}'),
+ ('\u{11212}', '\u{11212}'),
+ ('\u{11242}', '\u{1127f}'),
+ ('\u{11287}', '\u{11287}'),
+ ('\u{11289}', '\u{11289}'),
+ ('\u{1128e}', '\u{1128e}'),
+ ('\u{1129e}', '\u{1129e}'),
+ ('\u{112aa}', '\u{112af}'),
+ ('\u{112eb}', '\u{112ef}'),
+ ('\u{112fa}', '\u{112ff}'),
+ ('\u{11304}', '\u{11304}'),
+ ('\u{1130d}', '\u{1130e}'),
+ ('\u{11311}', '\u{11312}'),
+ ('\u{11329}', '\u{11329}'),
+ ('\u{11331}', '\u{11331}'),
+ ('\u{11334}', '\u{11334}'),
+ ('\u{1133a}', '\u{1133a}'),
+ ('\u{11345}', '\u{11346}'),
+ ('\u{11349}', '\u{1134a}'),
+ ('\u{1134e}', '\u{1134f}'),
+ ('\u{11351}', '\u{11356}'),
+ ('\u{11358}', '\u{1135c}'),
+ ('\u{11364}', '\u{11365}'),
+ ('\u{1136d}', '\u{1136f}'),
+ ('\u{11375}', '\u{113ff}'),
+ ('\u{1145c}', '\u{1145c}'),
+ ('\u{11462}', '\u{1147f}'),
+ ('\u{114c8}', '\u{114cf}'),
+ ('\u{114da}', '\u{1157f}'),
+ ('\u{115b6}', '\u{115b7}'),
+ ('\u{115de}', '\u{115ff}'),
+ ('\u{11645}', '\u{1164f}'),
+ ('\u{1165a}', '\u{1165f}'),
+ ('\u{1166d}', '\u{1167f}'),
+ ('\u{116ba}', '\u{116bf}'),
+ ('\u{116ca}', '\u{116ff}'),
+ ('\u{1171b}', '\u{1171c}'),
+ ('\u{1172c}', '\u{1172f}'),
+ ('\u{11747}', '\u{117ff}'),
+ ('\u{1183c}', '\u{1189f}'),
+ ('\u{118f3}', '\u{118fe}'),
+ ('\u{11907}', '\u{11908}'),
+ ('\u{1190a}', '\u{1190b}'),
+ ('\u{11914}', '\u{11914}'),
+ ('\u{11917}', '\u{11917}'),
+ ('\u{11936}', '\u{11936}'),
+ ('\u{11939}', '\u{1193a}'),
+ ('\u{11947}', '\u{1194f}'),
+ ('\u{1195a}', '\u{1199f}'),
+ ('\u{119a8}', '\u{119a9}'),
+ ('\u{119d8}', '\u{119d9}'),
+ ('\u{119e5}', '\u{119ff}'),
+ ('\u{11a48}', '\u{11a4f}'),
+ ('\u{11aa3}', '\u{11aaf}'),
+ ('\u{11af9}', '\u{11aff}'),
+ ('\u{11b0a}', '\u{11bff}'),
+ ('\u{11c09}', '\u{11c09}'),
+ ('\u{11c37}', '\u{11c37}'),
+ ('\u{11c46}', '\u{11c4f}'),
+ ('\u{11c6d}', '\u{11c6f}'),
+ ('\u{11c90}', '\u{11c91}'),
+ ('\u{11ca8}', '\u{11ca8}'),
+ ('\u{11cb7}', '\u{11cff}'),
+ ('\u{11d07}', '\u{11d07}'),
+ ('\u{11d0a}', '\u{11d0a}'),
+ ('\u{11d37}', '\u{11d39}'),
+ ('\u{11d3b}', '\u{11d3b}'),
+ ('\u{11d3e}', '\u{11d3e}'),
+ ('\u{11d48}', '\u{11d4f}'),
+ ('\u{11d5a}', '\u{11d5f}'),
+ ('\u{11d66}', '\u{11d66}'),
+ ('\u{11d69}', '\u{11d69}'),
+ ('\u{11d8f}', '\u{11d8f}'),
+ ('\u{11d92}', '\u{11d92}'),
+ ('\u{11d99}', '\u{11d9f}'),
+ ('\u{11daa}', '\u{11edf}'),
+ ('\u{11ef9}', '\u{11eff}'),
+ ('\u{11f11}', '\u{11f11}'),
+ ('\u{11f3b}', '\u{11f3d}'),
+ ('\u{11f5a}', '\u{11faf}'),
+ ('\u{11fb1}', '\u{11fbf}'),
+ ('\u{11ff2}', '\u{11ffe}'),
+ ('\u{1239a}', '\u{123ff}'),
+ ('\u{1246f}', '\u{1246f}'),
+ ('\u{12475}', '\u{1247f}'),
+ ('\u{12544}', '\u{12f8f}'),
+ ('\u{12ff3}', '\u{12fff}'),
+ ('\u{13430}', '\u{1343f}'),
+ ('\u{13456}', '\u{143ff}'),
+ ('\u{14647}', '\u{167ff}'),
+ ('\u{16a39}', '\u{16a3f}'),
+ ('\u{16a5f}', '\u{16a5f}'),
+ ('\u{16a6a}', '\u{16a6d}'),
+ ('\u{16abf}', '\u{16abf}'),
+ ('\u{16aca}', '\u{16acf}'),
+ ('\u{16aee}', '\u{16aef}'),
+ ('\u{16af6}', '\u{16aff}'),
+ ('\u{16b46}', '\u{16b4f}'),
+ ('\u{16b5a}', '\u{16b5a}'),
+ ('\u{16b62}', '\u{16b62}'),
+ ('\u{16b78}', '\u{16b7c}'),
+ ('\u{16b90}', '\u{16e3f}'),
+ ('\u{16e9b}', '\u{16eff}'),
+ ('\u{16f4b}', '\u{16f4e}'),
+ ('\u{16f88}', '\u{16f8e}'),
+ ('\u{16fa0}', '\u{16fdf}'),
+ ('\u{16fe5}', '\u{16fef}'),
+ ('\u{16ff2}', '\u{16fff}'),
+ ('\u{187f8}', '\u{187ff}'),
+ ('\u{18cd6}', '\u{18cff}'),
+ ('\u{18d09}', '\u{1afef}'),
+ ('\u{1aff4}', '\u{1aff4}'),
+ ('\u{1affc}', '\u{1affc}'),
+ ('\u{1afff}', '\u{1afff}'),
+ ('\u{1b123}', '\u{1b131}'),
+ ('\u{1b133}', '\u{1b14f}'),
+ ('\u{1b153}', '\u{1b154}'),
+ ('\u{1b156}', '\u{1b163}'),
+ ('\u{1b168}', '\u{1b16f}'),
+ ('\u{1b2fc}', '\u{1bbff}'),
+ ('\u{1bc6b}', '\u{1bc6f}'),
+ ('\u{1bc7d}', '\u{1bc7f}'),
+ ('\u{1bc89}', '\u{1bc8f}'),
+ ('\u{1bc9a}', '\u{1bc9b}'),
+ ('\u{1bca0}', '\u{1ceff}'),
+ ('\u{1cf2e}', '\u{1cf2f}'),
+ ('\u{1cf47}', '\u{1cf4f}'),
+ ('\u{1cfc4}', '\u{1cfff}'),
+ ('\u{1d0f6}', '\u{1d0ff}'),
+ ('\u{1d127}', '\u{1d128}'),
+ ('\u{1d173}', '\u{1d17a}'),
+ ('\u{1d1eb}', '\u{1d1ff}'),
+ ('\u{1d246}', '\u{1d2bf}'),
+ ('\u{1d2d4}', '\u{1d2df}'),
+ ('\u{1d2f4}', '\u{1d2ff}'),
+ ('\u{1d357}', '\u{1d35f}'),
+ ('\u{1d379}', '\u{1d3ff}'),
+ ('\u{1d455}', '\u{1d455}'),
+ ('\u{1d49d}', '\u{1d49d}'),
+ ('\u{1d4a0}', '\u{1d4a1}'),
+ ('\u{1d4a3}', '\u{1d4a4}'),
+ ('\u{1d4a7}', '\u{1d4a8}'),
+ ('\u{1d4ad}', '\u{1d4ad}'),
+ ('\u{1d4ba}', '\u{1d4ba}'),
+ ('\u{1d4bc}', '\u{1d4bc}'),
+ ('\u{1d4c4}', '\u{1d4c4}'),
+ ('\u{1d506}', '\u{1d506}'),
+ ('\u{1d50b}', '\u{1d50c}'),
+ ('\u{1d515}', '\u{1d515}'),
+ ('\u{1d51d}', '\u{1d51d}'),
+ ('\u{1d53a}', '\u{1d53a}'),
+ ('\u{1d53f}', '\u{1d53f}'),
+ ('\u{1d545}', '\u{1d545}'),
+ ('\u{1d547}', '\u{1d549}'),
+ ('\u{1d551}', '\u{1d551}'),
+ ('\u{1d6a6}', '\u{1d6a7}'),
+ ('\u{1d7cc}', '\u{1d7cd}'),
+ ('\u{1da8c}', '\u{1da9a}'),
+ ('\u{1daa0}', '\u{1daa0}'),
+ ('\u{1dab0}', '\u{1deff}'),
+ ('\u{1df1f}', '\u{1df24}'),
+ ('\u{1df2b}', '\u{1dfff}'),
+ ('\u{1e007}', '\u{1e007}'),
+ ('\u{1e019}', '\u{1e01a}'),
+ ('\u{1e022}', '\u{1e022}'),
+ ('\u{1e025}', '\u{1e025}'),
+ ('\u{1e02b}', '\u{1e02f}'),
+ ('\u{1e06e}', '\u{1e08e}'),
+ ('\u{1e090}', '\u{1e0ff}'),
+ ('\u{1e12d}', '\u{1e12f}'),
+ ('\u{1e13e}', '\u{1e13f}'),
+ ('\u{1e14a}', '\u{1e14d}'),
+ ('\u{1e150}', '\u{1e28f}'),
+ ('\u{1e2af}', '\u{1e2bf}'),
+ ('\u{1e2fa}', '\u{1e2fe}'),
+ ('\u{1e300}', '\u{1e4cf}'),
+ ('\u{1e4fa}', '\u{1e7df}'),
+ ('\u{1e7e7}', '\u{1e7e7}'),
+ ('\u{1e7ec}', '\u{1e7ec}'),
+ ('\u{1e7ef}', '\u{1e7ef}'),
+ ('\u{1e7ff}', '\u{1e7ff}'),
+ ('\u{1e8c5}', '\u{1e8c6}'),
+ ('\u{1e8d7}', '\u{1e8ff}'),
+ ('\u{1e94c}', '\u{1e94f}'),
+ ('\u{1e95a}', '\u{1e95d}'),
+ ('\u{1e960}', '\u{1ec70}'),
+ ('\u{1ecb5}', '\u{1ed00}'),
+ ('\u{1ed3e}', '\u{1edff}'),
+ ('\u{1ee04}', '\u{1ee04}'),
+ ('\u{1ee20}', '\u{1ee20}'),
+ ('\u{1ee23}', '\u{1ee23}'),
+ ('\u{1ee25}', '\u{1ee26}'),
+ ('\u{1ee28}', '\u{1ee28}'),
+ ('\u{1ee33}', '\u{1ee33}'),
+ ('\u{1ee38}', '\u{1ee38}'),
+ ('\u{1ee3a}', '\u{1ee3a}'),
+ ('\u{1ee3c}', '\u{1ee41}'),
+ ('\u{1ee43}', '\u{1ee46}'),
+ ('\u{1ee48}', '\u{1ee48}'),
+ ('\u{1ee4a}', '\u{1ee4a}'),
+ ('\u{1ee4c}', '\u{1ee4c}'),
+ ('\u{1ee50}', '\u{1ee50}'),
+ ('\u{1ee53}', '\u{1ee53}'),
+ ('\u{1ee55}', '\u{1ee56}'),
+ ('\u{1ee58}', '\u{1ee58}'),
+ ('\u{1ee5a}', '\u{1ee5a}'),
+ ('\u{1ee5c}', '\u{1ee5c}'),
+ ('\u{1ee5e}', '\u{1ee5e}'),
+ ('\u{1ee60}', '\u{1ee60}'),
+ ('\u{1ee63}', '\u{1ee63}'),
+ ('\u{1ee65}', '\u{1ee66}'),
+ ('\u{1ee6b}', '\u{1ee6b}'),
+ ('\u{1ee73}', '\u{1ee73}'),
+ ('\u{1ee78}', '\u{1ee78}'),
+ ('\u{1ee7d}', '\u{1ee7d}'),
+ ('\u{1ee7f}', '\u{1ee7f}'),
+ ('\u{1ee8a}', '\u{1ee8a}'),
+ ('\u{1ee9c}', '\u{1eea0}'),
+ ('\u{1eea4}', '\u{1eea4}'),
+ ('\u{1eeaa}', '\u{1eeaa}'),
+ ('\u{1eebc}', '\u{1eeef}'),
+ ('\u{1eef2}', '\u{1efff}'),
+ ('\u{1f02c}', '\u{1f02f}'),
+ ('\u{1f094}', '\u{1f09f}'),
+ ('\u{1f0af}', '\u{1f0b0}'),
+ ('\u{1f0c0}', '\u{1f0c0}'),
+ ('\u{1f0d0}', '\u{1f0d0}'),
+ ('\u{1f0f6}', '\u{1f0ff}'),
+ ('\u{1f1ae}', '\u{1f1e5}'),
+ ('\u{1f203}', '\u{1f20f}'),
+ ('\u{1f23c}', '\u{1f23f}'),
+ ('\u{1f249}', '\u{1f24f}'),
+ ('\u{1f252}', '\u{1f25f}'),
+ ('\u{1f266}', '\u{1f2ff}'),
+ ('\u{1f6d8}', '\u{1f6db}'),
+ ('\u{1f6ed}', '\u{1f6ef}'),
+ ('\u{1f6fd}', '\u{1f6ff}'),
+ ('\u{1f777}', '\u{1f77a}'),
+ ('\u{1f7da}', '\u{1f7df}'),
+ ('\u{1f7ec}', '\u{1f7ef}'),
+ ('\u{1f7f1}', '\u{1f7ff}'),
+ ('\u{1f80c}', '\u{1f80f}'),
+ ('\u{1f848}', '\u{1f84f}'),
+ ('\u{1f85a}', '\u{1f85f}'),
+ ('\u{1f888}', '\u{1f88f}'),
+ ('\u{1f8ae}', '\u{1f8af}'),
+ ('\u{1f8b2}', '\u{1f8ff}'),
+ ('\u{1fa54}', '\u{1fa5f}'),
+ ('\u{1fa6e}', '\u{1fa6f}'),
+ ('\u{1fa7d}', '\u{1fa7f}'),
+ ('\u{1fa89}', '\u{1fa8f}'),
+ ('\u{1fabe}', '\u{1fabe}'),
+ ('\u{1fac6}', '\u{1facd}'),
+ ('\u{1fadc}', '\u{1fadf}'),
+ ('\u{1fae9}', '\u{1faef}'),
+ ('\u{1faf9}', '\u{1faff}'),
+ ('\u{1fb93}', '\u{1fb93}'),
+ ('\u{1fbcb}', '\u{1fbef}'),
+ ('\u{1fbfa}', '\u{1ffff}'),
+ ('\u{2a6e0}', '\u{2a6ff}'),
+ ('\u{2b73a}', '\u{2b73f}'),
+ ('\u{2b81e}', '\u{2b81f}'),
+ ('\u{2cea2}', '\u{2ceaf}'),
+ ('\u{2ebe1}', '\u{2f7ff}'),
+ ('\u{2fa1e}', '\u{2ffff}'),
+ ('\u{3134b}', '\u{3134f}'),
+ ('\u{323b0}', '\u{e00ff}'),
+ ('\u{e01f0}', '\u{10ffff}'),
+];
+
+pub const OTHER_LETTER: &'static [(char, char)] = &[
+ ('ª', 'ª'),
+ ('º', 'º'),
+ ('ƻ', 'ƻ'),
+ ('ǀ', 'ǃ'),
+ ('ʔ', 'ʔ'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('ؠ', 'ؿ'),
+ ('ف', 'ي'),
+ ('ٮ', 'ٯ'),
+ ('ٱ', 'ۓ'),
+ ('ە', 'ە'),
+ ('ۮ', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ࠀ', 'ࠕ'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣈ'),
+ ('ऄ', 'ह'),
+ ('ऽ', 'ऽ'),
+ ('ॐ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('ॲ', 'ঀ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('ੲ', 'ੴ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ઽ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('ૹ', 'ૹ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('ୱ', 'ୱ'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ௐ', 'ௐ'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('ಀ', 'ಀ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಽ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('ೱ', 'ೲ'),
+ ('ഄ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', 'ൖ'),
+ ('ൟ', 'ൡ'),
+ ('ൺ', 'ൿ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ก', 'ะ'),
+ ('า', 'ำ'),
+ ('เ', 'ๅ'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ະ'),
+ ('າ', 'ຳ'),
+ ('ຽ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ྈ', 'ྌ'),
+ ('က', 'ဪ'),
+ ('ဿ', 'ဿ'),
+ ('ၐ', 'ၕ'),
+ ('ၚ', 'ၝ'),
+ ('ၡ', 'ၡ'),
+ ('ၥ', 'ၦ'),
+ ('ၮ', 'ၰ'),
+ ('ၵ', 'ႁ'),
+ ('ႎ', 'ႎ'),
+ ('ᄀ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛱ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('ᜟ', 'ᜱ'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ក', 'ឳ'),
+ ('ៜ', 'ៜ'),
+ ('ᠠ', 'ᡂ'),
+ ('ᡄ', 'ᡸ'),
+ ('ᢀ', 'ᢄ'),
+ ('ᢇ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᥐ', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('ᨀ', 'ᨖ'),
+ ('ᨠ', 'ᩔ'),
+ ('ᬅ', 'ᬳ'),
+ ('ᭅ', 'ᭌ'),
+ ('ᮃ', 'ᮠ'),
+ ('ᮮ', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᰀ', 'ᰣ'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱷ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ℵ', 'ℸ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('〆', '〆'),
+ ('〼', '〼'),
+ ('ぁ', 'ゖ'),
+ ('ゟ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ヿ', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꀔ'),
+ ('ꀖ', 'ꒌ'),
+ ('ꓐ', 'ꓷ'),
+ ('ꔀ', 'ꘋ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('ꙮ', 'ꙮ'),
+ ('ꚠ', 'ꛥ'),
+ ('ꞏ', 'ꞏ'),
+ ('ꟷ', 'ꟷ'),
+ ('ꟻ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠢ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢂ', 'ꢳ'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', 'ꣾ'),
+ ('ꤊ', 'ꤥ'),
+ ('ꤰ', 'ꥆ'),
+ ('ꥠ', 'ꥼ'),
+ ('ꦄ', 'ꦲ'),
+ ('ꧠ', 'ꧤ'),
+ ('ꧧ', 'ꧯ'),
+ ('ꧺ', 'ꧾ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꩠ', 'ꩯ'),
+ ('ꩱ', 'ꩶ'),
+ ('ꩺ', 'ꩺ'),
+ ('ꩾ', 'ꪯ'),
+ ('ꪱ', 'ꪱ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪽ'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫜ'),
+ ('ꫠ', 'ꫪ'),
+ ('ꫲ', 'ꫲ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꯀ', 'ꯢ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('ヲ', 'ッ'),
+ ('ア', 'ン'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍀'),
+ ('𐍂', '𐍉'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐑐', '𐒝'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐴀', '𐴣'),
+ ('𐺀', '𐺩'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀃', '𑀷'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂃', '𑂯'),
+ ('𑃐', '𑃨'),
+ ('𑄃', '𑄦'),
+ ('𑅄', '𑅄'),
+ ('𑅇', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('𑆃', '𑆲'),
+ ('𑇁', '𑇄'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈫'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '𑋞'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍡'),
+ ('𑐀', '𑐴'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '𑖮'),
+ ('𑗘', '𑗛'),
+ ('𑘀', '𑘯'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '𑚪'),
+ ('𑚸', '𑚸'),
+ ('𑜀', '𑜚'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '𑠫'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧐'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧣'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨺', '𑨺'),
+ ('𑩐', '𑩐'),
+ ('𑩜', '𑪉'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰮'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶉'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻲'),
+ ('𑼂', '𑼂'),
+ ('𑼄', '𑼐'),
+ ('𑼒', '𑼳'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖽐'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𝼊', '𝼊'),
+ ('𞄀', '𞄬'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓪'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const OTHER_NUMBER: &'static [(char, char)] = &[
+ ('²', '³'),
+ ('¹', '¹'),
+ ('¼', '¾'),
+ ('৴', '৹'),
+ ('୲', '୷'),
+ ('௰', '௲'),
+ ('౸', '౾'),
+ ('൘', '൞'),
+ ('൰', '൸'),
+ ('༪', '༳'),
+ ('፩', '፼'),
+ ('៰', '៹'),
+ ('᧚', '᧚'),
+ ('⁰', '⁰'),
+ ('⁴', '⁹'),
+ ('₀', '₉'),
+ ('⅐', '⅟'),
+ ('↉', '↉'),
+ ('①', '⒛'),
+ ('⓪', '⓿'),
+ ('❶', '➓'),
+ ('⳽', '⳽'),
+ ('㆒', '㆕'),
+ ('㈠', '㈩'),
+ ('㉈', '㉏'),
+ ('㉑', '㉟'),
+ ('㊀', '㊉'),
+ ('㊱', '㊿'),
+ ('꠰', '꠵'),
+ ('𐄇', '𐄳'),
+ ('𐅵', '𐅸'),
+ ('𐆊', '𐆋'),
+ ('𐋡', '𐋻'),
+ ('𐌠', '𐌣'),
+ ('𐡘', '𐡟'),
+ ('𐡹', '𐡿'),
+ ('𐢧', '𐢯'),
+ ('𐣻', '𐣿'),
+ ('𐤖', '𐤛'),
+ ('𐦼', '𐦽'),
+ ('𐧀', '𐧏'),
+ ('𐧒', '𐧿'),
+ ('𐩀', '𐩈'),
+ ('𐩽', '𐩾'),
+ ('𐪝', '𐪟'),
+ ('𐫫', '𐫯'),
+ ('𐭘', '𐭟'),
+ ('𐭸', '𐭿'),
+ ('𐮩', '𐮯'),
+ ('𐳺', '𐳿'),
+ ('𐹠', '𐹾'),
+ ('𐼝', '𐼦'),
+ ('𐽑', '𐽔'),
+ ('𐿅', '𐿋'),
+ ('𑁒', '𑁥'),
+ ('𑇡', '𑇴'),
+ ('𑜺', '𑜻'),
+ ('𑣪', '𑣲'),
+ ('𑱚', '𑱬'),
+ ('𑿀', '𑿔'),
+ ('𖭛', '𖭡'),
+ ('𖺀', '𖺖'),
+ ('𝋀', '𝋓'),
+ ('𝋠', '𝋳'),
+ ('𝍠', '𝍸'),
+ ('𞣇', '𞣏'),
+ ('𞱱', '𞲫'),
+ ('𞲭', '𞲯'),
+ ('𞲱', '𞲴'),
+ ('𞴁', '𞴭'),
+ ('𞴯', '𞴽'),
+ ('🄀', '🄌'),
+];
+
+pub const OTHER_PUNCTUATION: &'static [(char, char)] = &[
+ ('!', '#'),
+ ('%', '\''),
+ ('*', '*'),
+ (',', ','),
+ ('.', '/'),
+ (':', ';'),
+ ('?', '@'),
+ ('\\', '\\'),
+ ('¡', '¡'),
+ ('§', '§'),
+ ('¶', '·'),
+ ('¿', '¿'),
+ (';', ';'),
+ ('·', '·'),
+ ('՚', '՟'),
+ ('։', '։'),
+ ('׀', '׀'),
+ ('׃', '׃'),
+ ('׆', '׆'),
+ ('׳', '״'),
+ ('؉', '؊'),
+ ('،', '؍'),
+ ('؛', '؛'),
+ ('؝', '؟'),
+ ('٪', '٭'),
+ ('۔', '۔'),
+ ('܀', '܍'),
+ ('߷', '߹'),
+ ('࠰', '࠾'),
+ ('࡞', '࡞'),
+ ('।', '॥'),
+ ('॰', '॰'),
+ ('৽', '৽'),
+ ('੶', '੶'),
+ ('૰', '૰'),
+ ('౷', '౷'),
+ ('಄', '಄'),
+ ('෴', '෴'),
+ ('๏', '๏'),
+ ('๚', '๛'),
+ ('༄', '༒'),
+ ('༔', '༔'),
+ ('྅', '྅'),
+ ('࿐', '࿔'),
+ ('࿙', '࿚'),
+ ('၊', '၏'),
+ ('჻', '჻'),
+ ('፠', '፨'),
+ ('᙮', '᙮'),
+ ('᛫', '᛭'),
+ ('᜵', '᜶'),
+ ('។', '៖'),
+ ('៘', '៚'),
+ ('᠀', '᠅'),
+ ('᠇', '᠊'),
+ ('᥄', '᥅'),
+ ('᨞', '᨟'),
+ ('᪠', '᪦'),
+ ('᪨', '᪭'),
+ ('᭚', '᭠'),
+ ('᭽', '᭾'),
+ ('᯼', '᯿'),
+ ('᰻', '᰿'),
+ ('᱾', '᱿'),
+ ('᳀', '᳇'),
+ ('᳓', '᳓'),
+ ('‖', '‗'),
+ ('†', '‧'),
+ ('‰', '‸'),
+ ('※', '‾'),
+ ('⁁', '⁃'),
+ ('⁇', '⁑'),
+ ('⁓', '⁓'),
+ ('⁕', '⁞'),
+ ('⳹', '⳼'),
+ ('⳾', '⳿'),
+ ('⵰', '⵰'),
+ ('⸀', '⸁'),
+ ('⸆', '⸈'),
+ ('⸋', '⸋'),
+ ('⸎', '⸖'),
+ ('⸘', '⸙'),
+ ('⸛', '⸛'),
+ ('⸞', '⸟'),
+ ('⸪', '⸮'),
+ ('⸰', '⸹'),
+ ('⸼', '⸿'),
+ ('⹁', '⹁'),
+ ('⹃', '⹏'),
+ ('⹒', '⹔'),
+ ('、', '〃'),
+ ('〽', '〽'),
+ ('・', '・'),
+ ('꓾', '꓿'),
+ ('꘍', '꘏'),
+ ('꙳', '꙳'),
+ ('꙾', '꙾'),
+ ('꛲', '꛷'),
+ ('꡴', '꡷'),
+ ('꣎', '꣏'),
+ ('꣸', '꣺'),
+ ('꣼', '꣼'),
+ ('꤮', '꤯'),
+ ('꥟', '꥟'),
+ ('꧁', '꧍'),
+ ('꧞', '꧟'),
+ ('꩜', '꩟'),
+ ('꫞', '꫟'),
+ ('꫰', '꫱'),
+ ('꯫', '꯫'),
+ ('︐', '︖'),
+ ('︙', '︙'),
+ ('︰', '︰'),
+ ('﹅', '﹆'),
+ ('﹉', '﹌'),
+ ('﹐', '﹒'),
+ ('﹔', '﹗'),
+ ('﹟', '﹡'),
+ ('﹨', '﹨'),
+ ('﹪', '﹫'),
+ ('!', '#'),
+ ('%', '''),
+ ('*', '*'),
+ (',', ','),
+ ('.', '/'),
+ (':', ';'),
+ ('?', '@'),
+ ('\', '\'),
+ ('。', '。'),
+ ('、', '・'),
+ ('𐄀', '𐄂'),
+ ('𐎟', '𐎟'),
+ ('𐏐', '𐏐'),
+ ('𐕯', '𐕯'),
+ ('𐡗', '𐡗'),
+ ('𐤟', '𐤟'),
+ ('𐤿', '𐤿'),
+ ('𐩐', '𐩘'),
+ ('𐩿', '𐩿'),
+ ('𐫰', '𐫶'),
+ ('𐬹', '𐬿'),
+ ('𐮙', '𐮜'),
+ ('𐽕', '𐽙'),
+ ('𐾆', '𐾉'),
+ ('𑁇', '𑁍'),
+ ('𑂻', '𑂼'),
+ ('𑂾', '𑃁'),
+ ('𑅀', '𑅃'),
+ ('𑅴', '𑅵'),
+ ('𑇅', '𑇈'),
+ ('𑇍', '𑇍'),
+ ('𑇛', '𑇛'),
+ ('𑇝', '𑇟'),
+ ('𑈸', '𑈽'),
+ ('𑊩', '𑊩'),
+ ('𑑋', '𑑏'),
+ ('𑑚', '𑑛'),
+ ('𑑝', '𑑝'),
+ ('𑓆', '𑓆'),
+ ('𑗁', '𑗗'),
+ ('𑙁', '𑙃'),
+ ('𑙠', '𑙬'),
+ ('𑚹', '𑚹'),
+ ('𑜼', '𑜾'),
+ ('𑠻', '𑠻'),
+ ('𑥄', '𑥆'),
+ ('𑧢', '𑧢'),
+ ('𑨿', '𑩆'),
+ ('𑪚', '𑪜'),
+ ('𑪞', '𑪢'),
+ ('𑬀', '𑬉'),
+ ('𑱁', '𑱅'),
+ ('𑱰', '𑱱'),
+ ('𑻷', '𑻸'),
+ ('𑽃', '𑽏'),
+ ('𑿿', '𑿿'),
+ ('𒑰', '𒑴'),
+ ('𒿱', '𒿲'),
+ ('𖩮', '𖩯'),
+ ('𖫵', '𖫵'),
+ ('𖬷', '𖬻'),
+ ('𖭄', '𖭄'),
+ ('𖺗', '𖺚'),
+ ('𖿢', '𖿢'),
+ ('𛲟', '𛲟'),
+ ('𝪇', '𝪋'),
+ ('𞥞', '𞥟'),
+];
+
+pub const OTHER_SYMBOL: &'static [(char, char)] = &[
+ ('¦', '¦'),
+ ('©', '©'),
+ ('®', '®'),
+ ('°', '°'),
+ ('҂', '҂'),
+ ('֍', '֎'),
+ ('؎', '؏'),
+ ('۞', '۞'),
+ ('۩', '۩'),
+ ('۽', '۾'),
+ ('߶', '߶'),
+ ('৺', '৺'),
+ ('୰', '୰'),
+ ('௳', '௸'),
+ ('௺', '௺'),
+ ('౿', '౿'),
+ ('൏', '൏'),
+ ('൹', '൹'),
+ ('༁', '༃'),
+ ('༓', '༓'),
+ ('༕', '༗'),
+ ('༚', '༟'),
+ ('༴', '༴'),
+ ('༶', '༶'),
+ ('༸', '༸'),
+ ('྾', '࿅'),
+ ('࿇', '࿌'),
+ ('࿎', '࿏'),
+ ('࿕', '࿘'),
+ ('႞', '႟'),
+ ('᎐', '᎙'),
+ ('᙭', '᙭'),
+ ('᥀', '᥀'),
+ ('᧞', '᧿'),
+ ('᭡', '᭪'),
+ ('᭴', '᭼'),
+ ('℀', '℁'),
+ ('℃', '℆'),
+ ('℈', '℉'),
+ ('℔', '℔'),
+ ('№', '℗'),
+ ('℞', '℣'),
+ ('℥', '℥'),
+ ('℧', '℧'),
+ ('℩', '℩'),
+ ('℮', '℮'),
+ ('℺', '℻'),
+ ('⅊', '⅊'),
+ ('⅌', '⅍'),
+ ('⅏', '⅏'),
+ ('↊', '↋'),
+ ('↕', '↙'),
+ ('↜', '↟'),
+ ('↡', '↢'),
+ ('↤', '↥'),
+ ('↧', '↭'),
+ ('↯', '⇍'),
+ ('⇐', '⇑'),
+ ('⇓', '⇓'),
+ ('⇕', '⇳'),
+ ('⌀', '⌇'),
+ ('⌌', '⌟'),
+ ('⌢', '⌨'),
+ ('⌫', '⍻'),
+ ('⍽', '⎚'),
+ ('⎴', '⏛'),
+ ('⏢', '␦'),
+ ('⑀', '⑊'),
+ ('⒜', 'ⓩ'),
+ ('─', '▶'),
+ ('▸', '◀'),
+ ('◂', '◷'),
+ ('☀', '♮'),
+ ('♰', '❧'),
+ ('➔', '➿'),
+ ('⠀', '⣿'),
+ ('⬀', '⬯'),
+ ('⭅', '⭆'),
+ ('⭍', '⭳'),
+ ('⭶', '⮕'),
+ ('⮗', '⯿'),
+ ('⳥', '⳪'),
+ ('⹐', '⹑'),
+ ('⺀', '⺙'),
+ ('⺛', '⻳'),
+ ('⼀', '⿕'),
+ ('⿰', '⿻'),
+ ('〄', '〄'),
+ ('〒', '〓'),
+ ('〠', '〠'),
+ ('〶', '〷'),
+ ('〾', '〿'),
+ ('㆐', '㆑'),
+ ('㆖', '㆟'),
+ ('㇀', '㇣'),
+ ('㈀', '㈞'),
+ ('㈪', '㉇'),
+ ('㉐', '㉐'),
+ ('㉠', '㉿'),
+ ('㊊', '㊰'),
+ ('㋀', '㏿'),
+ ('䷀', '䷿'),
+ ('꒐', '꓆'),
+ ('꠨', '꠫'),
+ ('꠶', '꠷'),
+ ('꠹', '꠹'),
+ ('꩷', '꩹'),
+ ('﵀', '﵏'),
+ ('﷏', '﷏'),
+ ('﷽', '﷿'),
+ ('¦', '¦'),
+ ('│', '│'),
+ ('■', '○'),
+ ('', '�'),
+ ('𐄷', '𐄿'),
+ ('𐅹', '𐆉'),
+ ('𐆌', '𐆎'),
+ ('𐆐', '𐆜'),
+ ('𐆠', '𐆠'),
+ ('𐇐', '𐇼'),
+ ('𐡷', '𐡸'),
+ ('𐫈', '𐫈'),
+ ('𑜿', '𑜿'),
+ ('𑿕', '𑿜'),
+ ('𑿡', '𑿱'),
+ ('𖬼', '𖬿'),
+ ('𖭅', '𖭅'),
+ ('𛲜', '𛲜'),
+ ('𜽐', '𜿃'),
+ ('𝀀', '𝃵'),
+ ('𝄀', '𝄦'),
+ ('𝄩', '𝅘𝅥𝅲'),
+ ('𝅪', '𝅬'),
+ ('𝆃', '𝆄'),
+ ('𝆌', '𝆩'),
+ ('𝆮', '𝇪'),
+ ('𝈀', '𝉁'),
+ ('𝉅', '𝉅'),
+ ('𝌀', '𝍖'),
+ ('𝠀', '𝧿'),
+ ('𝨷', '𝨺'),
+ ('𝩭', '𝩴'),
+ ('𝩶', '𝪃'),
+ ('𝪅', '𝪆'),
+ ('𞅏', '𞅏'),
+ ('𞲬', '𞲬'),
+ ('𞴮', '𞴮'),
+ ('🀀', '🀫'),
+ ('🀰', '🂓'),
+ ('🂠', '🂮'),
+ ('🂱', '🂿'),
+ ('🃁', '🃏'),
+ ('🃑', '🃵'),
+ ('🄍', '🆭'),
+ ('🇦', '🈂'),
+ ('🈐', '🈻'),
+ ('🉀', '🉈'),
+ ('🉐', '🉑'),
+ ('🉠', '🉥'),
+ ('🌀', '🏺'),
+ ('🐀', '🛗'),
+ ('🛜', '🛬'),
+ ('🛰', '🛼'),
+ ('🜀', '🝶'),
+ ('🝻', '🟙'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🠀', '🠋'),
+ ('🠐', '🡇'),
+ ('🡐', '🡙'),
+ ('🡠', '🢇'),
+ ('🢐', '🢭'),
+ ('🢰', '🢱'),
+ ('🤀', '🩓'),
+ ('🩠', '🩭'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+ ('🬀', '🮒'),
+ ('🮔', '🯊'),
+];
+
+pub const PARAGRAPH_SEPARATOR: &'static [(char, char)] =
+ &[('\u{2029}', '\u{2029}')];
+
+pub const PRIVATE_USE: &'static [(char, char)] = &[
+ ('\u{e000}', '\u{f8ff}'),
+ ('\u{f0000}', '\u{ffffd}'),
+ ('\u{100000}', '\u{10fffd}'),
+];
+
+pub const PUNCTUATION: &'static [(char, char)] = &[
+ ('!', '#'),
+ ('%', '*'),
+ (',', '/'),
+ (':', ';'),
+ ('?', '@'),
+ ('[', ']'),
+ ('_', '_'),
+ ('{', '{'),
+ ('}', '}'),
+ ('¡', '¡'),
+ ('§', '§'),
+ ('«', '«'),
+ ('¶', '·'),
+ ('»', '»'),
+ ('¿', '¿'),
+ (';', ';'),
+ ('·', '·'),
+ ('՚', '՟'),
+ ('։', '֊'),
+ ('־', '־'),
+ ('׀', '׀'),
+ ('׃', '׃'),
+ ('׆', '׆'),
+ ('׳', '״'),
+ ('؉', '؊'),
+ ('،', '؍'),
+ ('؛', '؛'),
+ ('؝', '؟'),
+ ('٪', '٭'),
+ ('۔', '۔'),
+ ('܀', '܍'),
+ ('߷', '߹'),
+ ('࠰', '࠾'),
+ ('࡞', '࡞'),
+ ('।', '॥'),
+ ('॰', '॰'),
+ ('৽', '৽'),
+ ('੶', '੶'),
+ ('૰', '૰'),
+ ('౷', '౷'),
+ ('಄', '಄'),
+ ('෴', '෴'),
+ ('๏', '๏'),
+ ('๚', '๛'),
+ ('༄', '༒'),
+ ('༔', '༔'),
+ ('༺', '༽'),
+ ('྅', '྅'),
+ ('࿐', '࿔'),
+ ('࿙', '࿚'),
+ ('၊', '၏'),
+ ('჻', '჻'),
+ ('፠', '፨'),
+ ('᐀', '᐀'),
+ ('᙮', '᙮'),
+ ('᚛', '᚜'),
+ ('᛫', '᛭'),
+ ('᜵', '᜶'),
+ ('។', '៖'),
+ ('៘', '៚'),
+ ('᠀', '᠊'),
+ ('᥄', '᥅'),
+ ('᨞', '᨟'),
+ ('᪠', '᪦'),
+ ('᪨', '᪭'),
+ ('᭚', '᭠'),
+ ('᭽', '᭾'),
+ ('᯼', '᯿'),
+ ('᰻', '᰿'),
+ ('᱾', '᱿'),
+ ('᳀', '᳇'),
+ ('᳓', '᳓'),
+ ('‐', '‧'),
+ ('‰', '⁃'),
+ ('⁅', '⁑'),
+ ('⁓', '⁞'),
+ ('⁽', '⁾'),
+ ('₍', '₎'),
+ ('⌈', '⌋'),
+ ('〈', '〉'),
+ ('❨', '❵'),
+ ('⟅', '⟆'),
+ ('⟦', '⟯'),
+ ('⦃', '⦘'),
+ ('⧘', '⧛'),
+ ('⧼', '⧽'),
+ ('⳹', '⳼'),
+ ('⳾', '⳿'),
+ ('⵰', '⵰'),
+ ('⸀', '⸮'),
+ ('⸰', '⹏'),
+ ('⹒', '⹝'),
+ ('、', '〃'),
+ ('〈', '】'),
+ ('〔', '〟'),
+ ('〰', '〰'),
+ ('〽', '〽'),
+ ('゠', '゠'),
+ ('・', '・'),
+ ('꓾', '꓿'),
+ ('꘍', '꘏'),
+ ('꙳', '꙳'),
+ ('꙾', '꙾'),
+ ('꛲', '꛷'),
+ ('꡴', '꡷'),
+ ('꣎', '꣏'),
+ ('꣸', '꣺'),
+ ('꣼', '꣼'),
+ ('꤮', '꤯'),
+ ('꥟', '꥟'),
+ ('꧁', '꧍'),
+ ('꧞', '꧟'),
+ ('꩜', '꩟'),
+ ('꫞', '꫟'),
+ ('꫰', '꫱'),
+ ('꯫', '꯫'),
+ ('﴾', '﴿'),
+ ('︐', '︙'),
+ ('︰', '﹒'),
+ ('﹔', '﹡'),
+ ('﹣', '﹣'),
+ ('﹨', '﹨'),
+ ('﹪', '﹫'),
+ ('!', '#'),
+ ('%', '*'),
+ (',', '/'),
+ (':', ';'),
+ ('?', '@'),
+ ('[', ']'),
+ ('_', '_'),
+ ('{', '{'),
+ ('}', '}'),
+ ('⦅', '・'),
+ ('𐄀', '𐄂'),
+ ('𐎟', '𐎟'),
+ ('𐏐', '𐏐'),
+ ('𐕯', '𐕯'),
+ ('𐡗', '𐡗'),
+ ('𐤟', '𐤟'),
+ ('𐤿', '𐤿'),
+ ('𐩐', '𐩘'),
+ ('𐩿', '𐩿'),
+ ('𐫰', '𐫶'),
+ ('𐬹', '𐬿'),
+ ('𐮙', '𐮜'),
+ ('𐺭', '𐺭'),
+ ('𐽕', '𐽙'),
+ ('𐾆', '𐾉'),
+ ('𑁇', '𑁍'),
+ ('𑂻', '𑂼'),
+ ('𑂾', '𑃁'),
+ ('𑅀', '𑅃'),
+ ('𑅴', '𑅵'),
+ ('𑇅', '𑇈'),
+ ('𑇍', '𑇍'),
+ ('𑇛', '𑇛'),
+ ('𑇝', '𑇟'),
+ ('𑈸', '𑈽'),
+ ('𑊩', '𑊩'),
+ ('𑑋', '𑑏'),
+ ('𑑚', '𑑛'),
+ ('𑑝', '𑑝'),
+ ('𑓆', '𑓆'),
+ ('𑗁', '𑗗'),
+ ('𑙁', '𑙃'),
+ ('𑙠', '𑙬'),
+ ('𑚹', '𑚹'),
+ ('𑜼', '𑜾'),
+ ('𑠻', '𑠻'),
+ ('𑥄', '𑥆'),
+ ('𑧢', '𑧢'),
+ ('𑨿', '𑩆'),
+ ('𑪚', '𑪜'),
+ ('𑪞', '𑪢'),
+ ('𑬀', '𑬉'),
+ ('𑱁', '𑱅'),
+ ('𑱰', '𑱱'),
+ ('𑻷', '𑻸'),
+ ('𑽃', '𑽏'),
+ ('𑿿', '𑿿'),
+ ('𒑰', '𒑴'),
+ ('𒿱', '𒿲'),
+ ('𖩮', '𖩯'),
+ ('𖫵', '𖫵'),
+ ('𖬷', '𖬻'),
+ ('𖭄', '𖭄'),
+ ('𖺗', '𖺚'),
+ ('𖿢', '𖿢'),
+ ('𛲟', '𛲟'),
+ ('𝪇', '𝪋'),
+ ('𞥞', '𞥟'),
+];
+
+pub const SEPARATOR: &'static [(char, char)] = &[
+ (' ', ' '),
+ ('\u{a0}', '\u{a0}'),
+ ('\u{1680}', '\u{1680}'),
+ ('\u{2000}', '\u{200a}'),
+ ('\u{2028}', '\u{2029}'),
+ ('\u{202f}', '\u{202f}'),
+ ('\u{205f}', '\u{205f}'),
+ ('\u{3000}', '\u{3000}'),
+];
+
+pub const SPACE_SEPARATOR: &'static [(char, char)] = &[
+ (' ', ' '),
+ ('\u{a0}', '\u{a0}'),
+ ('\u{1680}', '\u{1680}'),
+ ('\u{2000}', '\u{200a}'),
+ ('\u{202f}', '\u{202f}'),
+ ('\u{205f}', '\u{205f}'),
+ ('\u{3000}', '\u{3000}'),
+];
+
+pub const SPACING_MARK: &'static [(char, char)] = &[
+ ('ः', 'ः'),
+ ('ऻ', 'ऻ'),
+ ('ा', 'ी'),
+ ('ॉ', 'ौ'),
+ ('ॎ', 'ॏ'),
+ ('ং', 'ঃ'),
+ ('\u{9be}', 'ী'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৌ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ਃ', 'ਃ'),
+ ('ਾ', 'ੀ'),
+ ('ઃ', 'ઃ'),
+ ('ા', 'ી'),
+ ('ૉ', 'ૉ'),
+ ('ો', 'ૌ'),
+ ('ଂ', 'ଃ'),
+ ('\u{b3e}', '\u{b3e}'),
+ ('ୀ', 'ୀ'),
+ ('େ', 'ୈ'),
+ ('ୋ', 'ୌ'),
+ ('\u{b57}', '\u{b57}'),
+ ('\u{bbe}', 'ி'),
+ ('ு', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', 'ௌ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('ఁ', 'ః'),
+ ('ు', 'ౄ'),
+ ('ಂ', 'ಃ'),
+ ('ಾ', 'ಾ'),
+ ('ೀ', 'ೄ'),
+ ('ೇ', 'ೈ'),
+ ('ೊ', 'ೋ'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೳ', 'ೳ'),
+ ('ം', 'ഃ'),
+ ('\u{d3e}', 'ീ'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൌ'),
+ ('\u{d57}', '\u{d57}'),
+ ('ං', 'ඃ'),
+ ('\u{dcf}', 'ෑ'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', 'ෳ'),
+ ('༾', '༿'),
+ ('ཿ', 'ཿ'),
+ ('ါ', 'ာ'),
+ ('ေ', 'ေ'),
+ ('း', 'း'),
+ ('ျ', 'ြ'),
+ ('ၖ', 'ၗ'),
+ ('ၢ', 'ၤ'),
+ ('ၧ', 'ၭ'),
+ ('ႃ', 'ႄ'),
+ ('ႇ', 'ႌ'),
+ ('ႏ', 'ႏ'),
+ ('ႚ', 'ႜ'),
+ ('᜕', '᜕'),
+ ('᜴', '᜴'),
+ ('ា', 'ា'),
+ ('ើ', 'ៅ'),
+ ('ះ', 'ៈ'),
+ ('ᤣ', 'ᤦ'),
+ ('ᤩ', 'ᤫ'),
+ ('ᤰ', 'ᤱ'),
+ ('ᤳ', 'ᤸ'),
+ ('ᨙ', 'ᨚ'),
+ ('ᩕ', 'ᩕ'),
+ ('ᩗ', 'ᩗ'),
+ ('ᩡ', 'ᩡ'),
+ ('ᩣ', 'ᩤ'),
+ ('ᩭ', 'ᩲ'),
+ ('ᬄ', 'ᬄ'),
+ ('\u{1b35}', '\u{1b35}'),
+ ('ᬻ', 'ᬻ'),
+ ('ᬽ', 'ᭁ'),
+ ('ᭃ', '᭄'),
+ ('ᮂ', 'ᮂ'),
+ ('ᮡ', 'ᮡ'),
+ ('ᮦ', 'ᮧ'),
+ ('᮪', '᮪'),
+ ('ᯧ', 'ᯧ'),
+ ('ᯪ', 'ᯬ'),
+ ('ᯮ', 'ᯮ'),
+ ('᯲', '᯳'),
+ ('ᰤ', 'ᰫ'),
+ ('ᰴ', 'ᰵ'),
+ ('᳡', '᳡'),
+ ('᳷', '᳷'),
+ ('\u{302e}', '\u{302f}'),
+ ('ꠣ', 'ꠤ'),
+ ('ꠧ', 'ꠧ'),
+ ('ꢀ', 'ꢁ'),
+ ('ꢴ', 'ꣃ'),
+ ('ꥒ', '꥓'),
+ ('ꦃ', 'ꦃ'),
+ ('ꦴ', 'ꦵ'),
+ ('ꦺ', 'ꦻ'),
+ ('ꦾ', '꧀'),
+ ('ꨯ', 'ꨰ'),
+ ('ꨳ', 'ꨴ'),
+ ('ꩍ', 'ꩍ'),
+ ('ꩻ', 'ꩻ'),
+ ('ꩽ', 'ꩽ'),
+ ('ꫫ', 'ꫫ'),
+ ('ꫮ', 'ꫯ'),
+ ('ꫵ', 'ꫵ'),
+ ('ꯣ', 'ꯤ'),
+ ('ꯦ', 'ꯧ'),
+ ('ꯩ', 'ꯪ'),
+ ('꯬', '꯬'),
+ ('𑀀', '𑀀'),
+ ('𑀂', '𑀂'),
+ ('𑂂', '𑂂'),
+ ('𑂰', '𑂲'),
+ ('𑂷', '𑂸'),
+ ('𑄬', '𑄬'),
+ ('𑅅', '𑅆'),
+ ('𑆂', '𑆂'),
+ ('𑆳', '𑆵'),
+ ('𑆿', '𑇀'),
+ ('𑇎', '𑇎'),
+ ('𑈬', '𑈮'),
+ ('𑈲', '𑈳'),
+ ('𑈵', '𑈵'),
+ ('𑋠', '𑋢'),
+ ('𑌂', '𑌃'),
+ ('\u{1133e}', '𑌿'),
+ ('𑍁', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍢', '𑍣'),
+ ('𑐵', '𑐷'),
+ ('𑑀', '𑑁'),
+ ('𑑅', '𑑅'),
+ ('\u{114b0}', '𑒲'),
+ ('𑒹', '𑒹'),
+ ('𑒻', '𑒾'),
+ ('𑓁', '𑓁'),
+ ('\u{115af}', '𑖱'),
+ ('𑖸', '𑖻'),
+ ('𑖾', '𑖾'),
+ ('𑘰', '𑘲'),
+ ('𑘻', '𑘼'),
+ ('𑘾', '𑘾'),
+ ('𑚬', '𑚬'),
+ ('𑚮', '𑚯'),
+ ('𑚶', '𑚶'),
+ ('𑜠', '𑜡'),
+ ('𑜦', '𑜦'),
+ ('𑠬', '𑠮'),
+ ('𑠸', '𑠸'),
+ ('\u{11930}', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('𑤽', '𑤽'),
+ ('𑥀', '𑥀'),
+ ('𑥂', '𑥂'),
+ ('𑧑', '𑧓'),
+ ('𑧜', '𑧟'),
+ ('𑧤', '𑧤'),
+ ('𑨹', '𑨹'),
+ ('𑩗', '𑩘'),
+ ('𑪗', '𑪗'),
+ ('𑰯', '𑰯'),
+ ('𑰾', '𑰾'),
+ ('𑲩', '𑲩'),
+ ('𑲱', '𑲱'),
+ ('𑲴', '𑲴'),
+ ('𑶊', '𑶎'),
+ ('𑶓', '𑶔'),
+ ('𑶖', '𑶖'),
+ ('𑻵', '𑻶'),
+ ('𑼃', '𑼃'),
+ ('𑼴', '𑼵'),
+ ('𑼾', '𑼿'),
+ ('𑽁', '𑽁'),
+ ('𖽑', '𖾇'),
+ ('𖿰', '𖿱'),
+ ('\u{1d165}', '𝅦'),
+ ('𝅭', '\u{1d172}'),
+];
+
+pub const SYMBOL: &'static [(char, char)] = &[
+ ('$', '$'),
+ ('+', '+'),
+ ('<', '>'),
+ ('^', '^'),
+ ('`', '`'),
+ ('|', '|'),
+ ('~', '~'),
+ ('¢', '¦'),
+ ('¨', '©'),
+ ('¬', '¬'),
+ ('®', '±'),
+ ('´', '´'),
+ ('¸', '¸'),
+ ('×', '×'),
+ ('÷', '÷'),
+ ('˂', '˅'),
+ ('˒', '˟'),
+ ('˥', '˫'),
+ ('˭', '˭'),
+ ('˯', '˿'),
+ ('͵', '͵'),
+ ('΄', '΅'),
+ ('϶', '϶'),
+ ('҂', '҂'),
+ ('֍', '֏'),
+ ('؆', '؈'),
+ ('؋', '؋'),
+ ('؎', '؏'),
+ ('۞', '۞'),
+ ('۩', '۩'),
+ ('۽', '۾'),
+ ('߶', '߶'),
+ ('߾', '߿'),
+ ('࢈', '࢈'),
+ ('৲', '৳'),
+ ('৺', '৻'),
+ ('૱', '૱'),
+ ('୰', '୰'),
+ ('௳', '௺'),
+ ('౿', '౿'),
+ ('൏', '൏'),
+ ('൹', '൹'),
+ ('฿', '฿'),
+ ('༁', '༃'),
+ ('༓', '༓'),
+ ('༕', '༗'),
+ ('༚', '༟'),
+ ('༴', '༴'),
+ ('༶', '༶'),
+ ('༸', '༸'),
+ ('྾', '࿅'),
+ ('࿇', '࿌'),
+ ('࿎', '࿏'),
+ ('࿕', '࿘'),
+ ('႞', '႟'),
+ ('᎐', '᎙'),
+ ('᙭', '᙭'),
+ ('៛', '៛'),
+ ('᥀', '᥀'),
+ ('᧞', '᧿'),
+ ('᭡', '᭪'),
+ ('᭴', '᭼'),
+ ('᾽', '᾽'),
+ ('᾿', '῁'),
+ ('῍', '῏'),
+ ('῝', '῟'),
+ ('῭', '`'),
+ ('´', '῾'),
+ ('⁄', '⁄'),
+ ('⁒', '⁒'),
+ ('⁺', '⁼'),
+ ('₊', '₌'),
+ ('₠', '⃀'),
+ ('℀', '℁'),
+ ('℃', '℆'),
+ ('℈', '℉'),
+ ('℔', '℔'),
+ ('№', '℘'),
+ ('℞', '℣'),
+ ('℥', '℥'),
+ ('℧', '℧'),
+ ('℩', '℩'),
+ ('℮', '℮'),
+ ('℺', '℻'),
+ ('⅀', '⅄'),
+ ('⅊', '⅍'),
+ ('⅏', '⅏'),
+ ('↊', '↋'),
+ ('←', '⌇'),
+ ('⌌', '⌨'),
+ ('⌫', '␦'),
+ ('⑀', '⑊'),
+ ('⒜', 'ⓩ'),
+ ('─', '❧'),
+ ('➔', '⟄'),
+ ('⟇', '⟥'),
+ ('⟰', '⦂'),
+ ('⦙', '⧗'),
+ ('⧜', '⧻'),
+ ('⧾', '⭳'),
+ ('⭶', '⮕'),
+ ('⮗', '⯿'),
+ ('⳥', '⳪'),
+ ('⹐', '⹑'),
+ ('⺀', '⺙'),
+ ('⺛', '⻳'),
+ ('⼀', '⿕'),
+ ('⿰', '⿻'),
+ ('〄', '〄'),
+ ('〒', '〓'),
+ ('〠', '〠'),
+ ('〶', '〷'),
+ ('〾', '〿'),
+ ('゛', '゜'),
+ ('㆐', '㆑'),
+ ('㆖', '㆟'),
+ ('㇀', '㇣'),
+ ('㈀', '㈞'),
+ ('㈪', '㉇'),
+ ('㉐', '㉐'),
+ ('㉠', '㉿'),
+ ('㊊', '㊰'),
+ ('㋀', '㏿'),
+ ('䷀', '䷿'),
+ ('꒐', '꓆'),
+ ('꜀', '꜖'),
+ ('꜠', '꜡'),
+ ('꞉', '꞊'),
+ ('꠨', '꠫'),
+ ('꠶', '꠹'),
+ ('꩷', '꩹'),
+ ('꭛', '꭛'),
+ ('꭪', '꭫'),
+ ('﬩', '﬩'),
+ ('﮲', '﯂'),
+ ('﵀', '﵏'),
+ ('﷏', '﷏'),
+ ('﷼', '﷿'),
+ ('﹢', '﹢'),
+ ('﹤', '﹦'),
+ ('﹩', '﹩'),
+ ('$', '$'),
+ ('+', '+'),
+ ('<', '>'),
+ ('^', '^'),
+ ('`', '`'),
+ ('|', '|'),
+ ('~', '~'),
+ ('¢', '₩'),
+ ('│', '○'),
+ ('', '�'),
+ ('𐄷', '𐄿'),
+ ('𐅹', '𐆉'),
+ ('𐆌', '𐆎'),
+ ('𐆐', '𐆜'),
+ ('𐆠', '𐆠'),
+ ('𐇐', '𐇼'),
+ ('𐡷', '𐡸'),
+ ('𐫈', '𐫈'),
+ ('𑜿', '𑜿'),
+ ('𑿕', '𑿱'),
+ ('𖬼', '𖬿'),
+ ('𖭅', '𖭅'),
+ ('𛲜', '𛲜'),
+ ('𜽐', '𜿃'),
+ ('𝀀', '𝃵'),
+ ('𝄀', '𝄦'),
+ ('𝄩', '𝅘𝅥𝅲'),
+ ('𝅪', '𝅬'),
+ ('𝆃', '𝆄'),
+ ('𝆌', '𝆩'),
+ ('𝆮', '𝇪'),
+ ('𝈀', '𝉁'),
+ ('𝉅', '𝉅'),
+ ('𝌀', '𝍖'),
+ ('𝛁', '𝛁'),
+ ('𝛛', '𝛛'),
+ ('𝛻', '𝛻'),
+ ('𝜕', '𝜕'),
+ ('𝜵', '𝜵'),
+ ('𝝏', '𝝏'),
+ ('𝝯', '𝝯'),
+ ('𝞉', '𝞉'),
+ ('𝞩', '𝞩'),
+ ('𝟃', '𝟃'),
+ ('𝠀', '𝧿'),
+ ('𝨷', '𝨺'),
+ ('𝩭', '𝩴'),
+ ('𝩶', '𝪃'),
+ ('𝪅', '𝪆'),
+ ('𞅏', '𞅏'),
+ ('𞋿', '𞋿'),
+ ('𞲬', '𞲬'),
+ ('𞲰', '𞲰'),
+ ('𞴮', '𞴮'),
+ ('𞻰', '𞻱'),
+ ('🀀', '🀫'),
+ ('🀰', '🂓'),
+ ('🂠', '🂮'),
+ ('🂱', '🂿'),
+ ('🃁', '🃏'),
+ ('🃑', '🃵'),
+ ('🄍', '🆭'),
+ ('🇦', '🈂'),
+ ('🈐', '🈻'),
+ ('🉀', '🉈'),
+ ('🉐', '🉑'),
+ ('🉠', '🉥'),
+ ('🌀', '🛗'),
+ ('🛜', '🛬'),
+ ('🛰', '🛼'),
+ ('🜀', '🝶'),
+ ('🝻', '🟙'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🠀', '🠋'),
+ ('🠐', '🡇'),
+ ('🡐', '🡙'),
+ ('🡠', '🢇'),
+ ('🢐', '🢭'),
+ ('🢰', '🢱'),
+ ('🤀', '🩓'),
+ ('🩠', '🩭'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+ ('🬀', '🮒'),
+ ('🮔', '🯊'),
+];
+
+pub const TITLECASE_LETTER: &'static [(char, char)] = &[
+ ('Dž', 'Dž'),
+ ('Lj', 'Lj'),
+ ('Nj', 'Nj'),
+ ('Dz', 'Dz'),
+ ('ᾈ', 'ᾏ'),
+ ('ᾘ', 'ᾟ'),
+ ('ᾨ', 'ᾯ'),
+ ('ᾼ', 'ᾼ'),
+ ('ῌ', 'ῌ'),
+ ('ῼ', 'ῼ'),
+];
+
+pub const UNASSIGNED: &'static [(char, char)] = &[
+ ('\u{378}', '\u{379}'),
+ ('\u{380}', '\u{383}'),
+ ('\u{38b}', '\u{38b}'),
+ ('\u{38d}', '\u{38d}'),
+ ('\u{3a2}', '\u{3a2}'),
+ ('\u{530}', '\u{530}'),
+ ('\u{557}', '\u{558}'),
+ ('\u{58b}', '\u{58c}'),
+ ('\u{590}', '\u{590}'),
+ ('\u{5c8}', '\u{5cf}'),
+ ('\u{5eb}', '\u{5ee}'),
+ ('\u{5f5}', '\u{5ff}'),
+ ('\u{70e}', '\u{70e}'),
+ ('\u{74b}', '\u{74c}'),
+ ('\u{7b2}', '\u{7bf}'),
+ ('\u{7fb}', '\u{7fc}'),
+ ('\u{82e}', '\u{82f}'),
+ ('\u{83f}', '\u{83f}'),
+ ('\u{85c}', '\u{85d}'),
+ ('\u{85f}', '\u{85f}'),
+ ('\u{86b}', '\u{86f}'),
+ ('\u{88f}', '\u{88f}'),
+ ('\u{892}', '\u{897}'),
+ ('\u{984}', '\u{984}'),
+ ('\u{98d}', '\u{98e}'),
+ ('\u{991}', '\u{992}'),
+ ('\u{9a9}', '\u{9a9}'),
+ ('\u{9b1}', '\u{9b1}'),
+ ('\u{9b3}', '\u{9b5}'),
+ ('\u{9ba}', '\u{9bb}'),
+ ('\u{9c5}', '\u{9c6}'),
+ ('\u{9c9}', '\u{9ca}'),
+ ('\u{9cf}', '\u{9d6}'),
+ ('\u{9d8}', '\u{9db}'),
+ ('\u{9de}', '\u{9de}'),
+ ('\u{9e4}', '\u{9e5}'),
+ ('\u{9ff}', '\u{a00}'),
+ ('\u{a04}', '\u{a04}'),
+ ('\u{a0b}', '\u{a0e}'),
+ ('\u{a11}', '\u{a12}'),
+ ('\u{a29}', '\u{a29}'),
+ ('\u{a31}', '\u{a31}'),
+ ('\u{a34}', '\u{a34}'),
+ ('\u{a37}', '\u{a37}'),
+ ('\u{a3a}', '\u{a3b}'),
+ ('\u{a3d}', '\u{a3d}'),
+ ('\u{a43}', '\u{a46}'),
+ ('\u{a49}', '\u{a4a}'),
+ ('\u{a4e}', '\u{a50}'),
+ ('\u{a52}', '\u{a58}'),
+ ('\u{a5d}', '\u{a5d}'),
+ ('\u{a5f}', '\u{a65}'),
+ ('\u{a77}', '\u{a80}'),
+ ('\u{a84}', '\u{a84}'),
+ ('\u{a8e}', '\u{a8e}'),
+ ('\u{a92}', '\u{a92}'),
+ ('\u{aa9}', '\u{aa9}'),
+ ('\u{ab1}', '\u{ab1}'),
+ ('\u{ab4}', '\u{ab4}'),
+ ('\u{aba}', '\u{abb}'),
+ ('\u{ac6}', '\u{ac6}'),
+ ('\u{aca}', '\u{aca}'),
+ ('\u{ace}', '\u{acf}'),
+ ('\u{ad1}', '\u{adf}'),
+ ('\u{ae4}', '\u{ae5}'),
+ ('\u{af2}', '\u{af8}'),
+ ('\u{b00}', '\u{b00}'),
+ ('\u{b04}', '\u{b04}'),
+ ('\u{b0d}', '\u{b0e}'),
+ ('\u{b11}', '\u{b12}'),
+ ('\u{b29}', '\u{b29}'),
+ ('\u{b31}', '\u{b31}'),
+ ('\u{b34}', '\u{b34}'),
+ ('\u{b3a}', '\u{b3b}'),
+ ('\u{b45}', '\u{b46}'),
+ ('\u{b49}', '\u{b4a}'),
+ ('\u{b4e}', '\u{b54}'),
+ ('\u{b58}', '\u{b5b}'),
+ ('\u{b5e}', '\u{b5e}'),
+ ('\u{b64}', '\u{b65}'),
+ ('\u{b78}', '\u{b81}'),
+ ('\u{b84}', '\u{b84}'),
+ ('\u{b8b}', '\u{b8d}'),
+ ('\u{b91}', '\u{b91}'),
+ ('\u{b96}', '\u{b98}'),
+ ('\u{b9b}', '\u{b9b}'),
+ ('\u{b9d}', '\u{b9d}'),
+ ('\u{ba0}', '\u{ba2}'),
+ ('\u{ba5}', '\u{ba7}'),
+ ('\u{bab}', '\u{bad}'),
+ ('\u{bba}', '\u{bbd}'),
+ ('\u{bc3}', '\u{bc5}'),
+ ('\u{bc9}', '\u{bc9}'),
+ ('\u{bce}', '\u{bcf}'),
+ ('\u{bd1}', '\u{bd6}'),
+ ('\u{bd8}', '\u{be5}'),
+ ('\u{bfb}', '\u{bff}'),
+ ('\u{c0d}', '\u{c0d}'),
+ ('\u{c11}', '\u{c11}'),
+ ('\u{c29}', '\u{c29}'),
+ ('\u{c3a}', '\u{c3b}'),
+ ('\u{c45}', '\u{c45}'),
+ ('\u{c49}', '\u{c49}'),
+ ('\u{c4e}', '\u{c54}'),
+ ('\u{c57}', '\u{c57}'),
+ ('\u{c5b}', '\u{c5c}'),
+ ('\u{c5e}', '\u{c5f}'),
+ ('\u{c64}', '\u{c65}'),
+ ('\u{c70}', '\u{c76}'),
+ ('\u{c8d}', '\u{c8d}'),
+ ('\u{c91}', '\u{c91}'),
+ ('\u{ca9}', '\u{ca9}'),
+ ('\u{cb4}', '\u{cb4}'),
+ ('\u{cba}', '\u{cbb}'),
+ ('\u{cc5}', '\u{cc5}'),
+ ('\u{cc9}', '\u{cc9}'),
+ ('\u{cce}', '\u{cd4}'),
+ ('\u{cd7}', '\u{cdc}'),
+ ('\u{cdf}', '\u{cdf}'),
+ ('\u{ce4}', '\u{ce5}'),
+ ('\u{cf0}', '\u{cf0}'),
+ ('\u{cf4}', '\u{cff}'),
+ ('\u{d0d}', '\u{d0d}'),
+ ('\u{d11}', '\u{d11}'),
+ ('\u{d45}', '\u{d45}'),
+ ('\u{d49}', '\u{d49}'),
+ ('\u{d50}', '\u{d53}'),
+ ('\u{d64}', '\u{d65}'),
+ ('\u{d80}', '\u{d80}'),
+ ('\u{d84}', '\u{d84}'),
+ ('\u{d97}', '\u{d99}'),
+ ('\u{db2}', '\u{db2}'),
+ ('\u{dbc}', '\u{dbc}'),
+ ('\u{dbe}', '\u{dbf}'),
+ ('\u{dc7}', '\u{dc9}'),
+ ('\u{dcb}', '\u{dce}'),
+ ('\u{dd5}', '\u{dd5}'),
+ ('\u{dd7}', '\u{dd7}'),
+ ('\u{de0}', '\u{de5}'),
+ ('\u{df0}', '\u{df1}'),
+ ('\u{df5}', '\u{e00}'),
+ ('\u{e3b}', '\u{e3e}'),
+ ('\u{e5c}', '\u{e80}'),
+ ('\u{e83}', '\u{e83}'),
+ ('\u{e85}', '\u{e85}'),
+ ('\u{e8b}', '\u{e8b}'),
+ ('\u{ea4}', '\u{ea4}'),
+ ('\u{ea6}', '\u{ea6}'),
+ ('\u{ebe}', '\u{ebf}'),
+ ('\u{ec5}', '\u{ec5}'),
+ ('\u{ec7}', '\u{ec7}'),
+ ('\u{ecf}', '\u{ecf}'),
+ ('\u{eda}', '\u{edb}'),
+ ('\u{ee0}', '\u{eff}'),
+ ('\u{f48}', '\u{f48}'),
+ ('\u{f6d}', '\u{f70}'),
+ ('\u{f98}', '\u{f98}'),
+ ('\u{fbd}', '\u{fbd}'),
+ ('\u{fcd}', '\u{fcd}'),
+ ('\u{fdb}', '\u{fff}'),
+ ('\u{10c6}', '\u{10c6}'),
+ ('\u{10c8}', '\u{10cc}'),
+ ('\u{10ce}', '\u{10cf}'),
+ ('\u{1249}', '\u{1249}'),
+ ('\u{124e}', '\u{124f}'),
+ ('\u{1257}', '\u{1257}'),
+ ('\u{1259}', '\u{1259}'),
+ ('\u{125e}', '\u{125f}'),
+ ('\u{1289}', '\u{1289}'),
+ ('\u{128e}', '\u{128f}'),
+ ('\u{12b1}', '\u{12b1}'),
+ ('\u{12b6}', '\u{12b7}'),
+ ('\u{12bf}', '\u{12bf}'),
+ ('\u{12c1}', '\u{12c1}'),
+ ('\u{12c6}', '\u{12c7}'),
+ ('\u{12d7}', '\u{12d7}'),
+ ('\u{1311}', '\u{1311}'),
+ ('\u{1316}', '\u{1317}'),
+ ('\u{135b}', '\u{135c}'),
+ ('\u{137d}', '\u{137f}'),
+ ('\u{139a}', '\u{139f}'),
+ ('\u{13f6}', '\u{13f7}'),
+ ('\u{13fe}', '\u{13ff}'),
+ ('\u{169d}', '\u{169f}'),
+ ('\u{16f9}', '\u{16ff}'),
+ ('\u{1716}', '\u{171e}'),
+ ('\u{1737}', '\u{173f}'),
+ ('\u{1754}', '\u{175f}'),
+ ('\u{176d}', '\u{176d}'),
+ ('\u{1771}', '\u{1771}'),
+ ('\u{1774}', '\u{177f}'),
+ ('\u{17de}', '\u{17df}'),
+ ('\u{17ea}', '\u{17ef}'),
+ ('\u{17fa}', '\u{17ff}'),
+ ('\u{181a}', '\u{181f}'),
+ ('\u{1879}', '\u{187f}'),
+ ('\u{18ab}', '\u{18af}'),
+ ('\u{18f6}', '\u{18ff}'),
+ ('\u{191f}', '\u{191f}'),
+ ('\u{192c}', '\u{192f}'),
+ ('\u{193c}', '\u{193f}'),
+ ('\u{1941}', '\u{1943}'),
+ ('\u{196e}', '\u{196f}'),
+ ('\u{1975}', '\u{197f}'),
+ ('\u{19ac}', '\u{19af}'),
+ ('\u{19ca}', '\u{19cf}'),
+ ('\u{19db}', '\u{19dd}'),
+ ('\u{1a1c}', '\u{1a1d}'),
+ ('\u{1a5f}', '\u{1a5f}'),
+ ('\u{1a7d}', '\u{1a7e}'),
+ ('\u{1a8a}', '\u{1a8f}'),
+ ('\u{1a9a}', '\u{1a9f}'),
+ ('\u{1aae}', '\u{1aaf}'),
+ ('\u{1acf}', '\u{1aff}'),
+ ('\u{1b4d}', '\u{1b4f}'),
+ ('\u{1b7f}', '\u{1b7f}'),
+ ('\u{1bf4}', '\u{1bfb}'),
+ ('\u{1c38}', '\u{1c3a}'),
+ ('\u{1c4a}', '\u{1c4c}'),
+ ('\u{1c89}', '\u{1c8f}'),
+ ('\u{1cbb}', '\u{1cbc}'),
+ ('\u{1cc8}', '\u{1ccf}'),
+ ('\u{1cfb}', '\u{1cff}'),
+ ('\u{1f16}', '\u{1f17}'),
+ ('\u{1f1e}', '\u{1f1f}'),
+ ('\u{1f46}', '\u{1f47}'),
+ ('\u{1f4e}', '\u{1f4f}'),
+ ('\u{1f58}', '\u{1f58}'),
+ ('\u{1f5a}', '\u{1f5a}'),
+ ('\u{1f5c}', '\u{1f5c}'),
+ ('\u{1f5e}', '\u{1f5e}'),
+ ('\u{1f7e}', '\u{1f7f}'),
+ ('\u{1fb5}', '\u{1fb5}'),
+ ('\u{1fc5}', '\u{1fc5}'),
+ ('\u{1fd4}', '\u{1fd5}'),
+ ('\u{1fdc}', '\u{1fdc}'),
+ ('\u{1ff0}', '\u{1ff1}'),
+ ('\u{1ff5}', '\u{1ff5}'),
+ ('\u{1fff}', '\u{1fff}'),
+ ('\u{2065}', '\u{2065}'),
+ ('\u{2072}', '\u{2073}'),
+ ('\u{208f}', '\u{208f}'),
+ ('\u{209d}', '\u{209f}'),
+ ('\u{20c1}', '\u{20cf}'),
+ ('\u{20f1}', '\u{20ff}'),
+ ('\u{218c}', '\u{218f}'),
+ ('\u{2427}', '\u{243f}'),
+ ('\u{244b}', '\u{245f}'),
+ ('\u{2b74}', '\u{2b75}'),
+ ('\u{2b96}', '\u{2b96}'),
+ ('\u{2cf4}', '\u{2cf8}'),
+ ('\u{2d26}', '\u{2d26}'),
+ ('\u{2d28}', '\u{2d2c}'),
+ ('\u{2d2e}', '\u{2d2f}'),
+ ('\u{2d68}', '\u{2d6e}'),
+ ('\u{2d71}', '\u{2d7e}'),
+ ('\u{2d97}', '\u{2d9f}'),
+ ('\u{2da7}', '\u{2da7}'),
+ ('\u{2daf}', '\u{2daf}'),
+ ('\u{2db7}', '\u{2db7}'),
+ ('\u{2dbf}', '\u{2dbf}'),
+ ('\u{2dc7}', '\u{2dc7}'),
+ ('\u{2dcf}', '\u{2dcf}'),
+ ('\u{2dd7}', '\u{2dd7}'),
+ ('\u{2ddf}', '\u{2ddf}'),
+ ('\u{2e5e}', '\u{2e7f}'),
+ ('\u{2e9a}', '\u{2e9a}'),
+ ('\u{2ef4}', '\u{2eff}'),
+ ('\u{2fd6}', '\u{2fef}'),
+ ('\u{2ffc}', '\u{2fff}'),
+ ('\u{3040}', '\u{3040}'),
+ ('\u{3097}', '\u{3098}'),
+ ('\u{3100}', '\u{3104}'),
+ ('\u{3130}', '\u{3130}'),
+ ('\u{318f}', '\u{318f}'),
+ ('\u{31e4}', '\u{31ef}'),
+ ('\u{321f}', '\u{321f}'),
+ ('\u{a48d}', '\u{a48f}'),
+ ('\u{a4c7}', '\u{a4cf}'),
+ ('\u{a62c}', '\u{a63f}'),
+ ('\u{a6f8}', '\u{a6ff}'),
+ ('\u{a7cb}', '\u{a7cf}'),
+ ('\u{a7d2}', '\u{a7d2}'),
+ ('\u{a7d4}', '\u{a7d4}'),
+ ('\u{a7da}', '\u{a7f1}'),
+ ('\u{a82d}', '\u{a82f}'),
+ ('\u{a83a}', '\u{a83f}'),
+ ('\u{a878}', '\u{a87f}'),
+ ('\u{a8c6}', '\u{a8cd}'),
+ ('\u{a8da}', '\u{a8df}'),
+ ('\u{a954}', '\u{a95e}'),
+ ('\u{a97d}', '\u{a97f}'),
+ ('\u{a9ce}', '\u{a9ce}'),
+ ('\u{a9da}', '\u{a9dd}'),
+ ('\u{a9ff}', '\u{a9ff}'),
+ ('\u{aa37}', '\u{aa3f}'),
+ ('\u{aa4e}', '\u{aa4f}'),
+ ('\u{aa5a}', '\u{aa5b}'),
+ ('\u{aac3}', '\u{aada}'),
+ ('\u{aaf7}', '\u{ab00}'),
+ ('\u{ab07}', '\u{ab08}'),
+ ('\u{ab0f}', '\u{ab10}'),
+ ('\u{ab17}', '\u{ab1f}'),
+ ('\u{ab27}', '\u{ab27}'),
+ ('\u{ab2f}', '\u{ab2f}'),
+ ('\u{ab6c}', '\u{ab6f}'),
+ ('\u{abee}', '\u{abef}'),
+ ('\u{abfa}', '\u{abff}'),
+ ('\u{d7a4}', '\u{d7af}'),
+ ('\u{d7c7}', '\u{d7ca}'),
+ ('\u{d7fc}', '\u{d7ff}'),
+ ('\u{fa6e}', '\u{fa6f}'),
+ ('\u{fada}', '\u{faff}'),
+ ('\u{fb07}', '\u{fb12}'),
+ ('\u{fb18}', '\u{fb1c}'),
+ ('\u{fb37}', '\u{fb37}'),
+ ('\u{fb3d}', '\u{fb3d}'),
+ ('\u{fb3f}', '\u{fb3f}'),
+ ('\u{fb42}', '\u{fb42}'),
+ ('\u{fb45}', '\u{fb45}'),
+ ('\u{fbc3}', '\u{fbd2}'),
+ ('\u{fd90}', '\u{fd91}'),
+ ('\u{fdc8}', '\u{fdce}'),
+ ('\u{fdd0}', '\u{fdef}'),
+ ('\u{fe1a}', '\u{fe1f}'),
+ ('\u{fe53}', '\u{fe53}'),
+ ('\u{fe67}', '\u{fe67}'),
+ ('\u{fe6c}', '\u{fe6f}'),
+ ('\u{fe75}', '\u{fe75}'),
+ ('\u{fefd}', '\u{fefe}'),
+ ('\u{ff00}', '\u{ff00}'),
+ ('\u{ffbf}', '\u{ffc1}'),
+ ('\u{ffc8}', '\u{ffc9}'),
+ ('\u{ffd0}', '\u{ffd1}'),
+ ('\u{ffd8}', '\u{ffd9}'),
+ ('\u{ffdd}', '\u{ffdf}'),
+ ('\u{ffe7}', '\u{ffe7}'),
+ ('\u{ffef}', '\u{fff8}'),
+ ('\u{fffe}', '\u{ffff}'),
+ ('\u{1000c}', '\u{1000c}'),
+ ('\u{10027}', '\u{10027}'),
+ ('\u{1003b}', '\u{1003b}'),
+ ('\u{1003e}', '\u{1003e}'),
+ ('\u{1004e}', '\u{1004f}'),
+ ('\u{1005e}', '\u{1007f}'),
+ ('\u{100fb}', '\u{100ff}'),
+ ('\u{10103}', '\u{10106}'),
+ ('\u{10134}', '\u{10136}'),
+ ('\u{1018f}', '\u{1018f}'),
+ ('\u{1019d}', '\u{1019f}'),
+ ('\u{101a1}', '\u{101cf}'),
+ ('\u{101fe}', '\u{1027f}'),
+ ('\u{1029d}', '\u{1029f}'),
+ ('\u{102d1}', '\u{102df}'),
+ ('\u{102fc}', '\u{102ff}'),
+ ('\u{10324}', '\u{1032c}'),
+ ('\u{1034b}', '\u{1034f}'),
+ ('\u{1037b}', '\u{1037f}'),
+ ('\u{1039e}', '\u{1039e}'),
+ ('\u{103c4}', '\u{103c7}'),
+ ('\u{103d6}', '\u{103ff}'),
+ ('\u{1049e}', '\u{1049f}'),
+ ('\u{104aa}', '\u{104af}'),
+ ('\u{104d4}', '\u{104d7}'),
+ ('\u{104fc}', '\u{104ff}'),
+ ('\u{10528}', '\u{1052f}'),
+ ('\u{10564}', '\u{1056e}'),
+ ('\u{1057b}', '\u{1057b}'),
+ ('\u{1058b}', '\u{1058b}'),
+ ('\u{10593}', '\u{10593}'),
+ ('\u{10596}', '\u{10596}'),
+ ('\u{105a2}', '\u{105a2}'),
+ ('\u{105b2}', '\u{105b2}'),
+ ('\u{105ba}', '\u{105ba}'),
+ ('\u{105bd}', '\u{105ff}'),
+ ('\u{10737}', '\u{1073f}'),
+ ('\u{10756}', '\u{1075f}'),
+ ('\u{10768}', '\u{1077f}'),
+ ('\u{10786}', '\u{10786}'),
+ ('\u{107b1}', '\u{107b1}'),
+ ('\u{107bb}', '\u{107ff}'),
+ ('\u{10806}', '\u{10807}'),
+ ('\u{10809}', '\u{10809}'),
+ ('\u{10836}', '\u{10836}'),
+ ('\u{10839}', '\u{1083b}'),
+ ('\u{1083d}', '\u{1083e}'),
+ ('\u{10856}', '\u{10856}'),
+ ('\u{1089f}', '\u{108a6}'),
+ ('\u{108b0}', '\u{108df}'),
+ ('\u{108f3}', '\u{108f3}'),
+ ('\u{108f6}', '\u{108fa}'),
+ ('\u{1091c}', '\u{1091e}'),
+ ('\u{1093a}', '\u{1093e}'),
+ ('\u{10940}', '\u{1097f}'),
+ ('\u{109b8}', '\u{109bb}'),
+ ('\u{109d0}', '\u{109d1}'),
+ ('\u{10a04}', '\u{10a04}'),
+ ('\u{10a07}', '\u{10a0b}'),
+ ('\u{10a14}', '\u{10a14}'),
+ ('\u{10a18}', '\u{10a18}'),
+ ('\u{10a36}', '\u{10a37}'),
+ ('\u{10a3b}', '\u{10a3e}'),
+ ('\u{10a49}', '\u{10a4f}'),
+ ('\u{10a59}', '\u{10a5f}'),
+ ('\u{10aa0}', '\u{10abf}'),
+ ('\u{10ae7}', '\u{10aea}'),
+ ('\u{10af7}', '\u{10aff}'),
+ ('\u{10b36}', '\u{10b38}'),
+ ('\u{10b56}', '\u{10b57}'),
+ ('\u{10b73}', '\u{10b77}'),
+ ('\u{10b92}', '\u{10b98}'),
+ ('\u{10b9d}', '\u{10ba8}'),
+ ('\u{10bb0}', '\u{10bff}'),
+ ('\u{10c49}', '\u{10c7f}'),
+ ('\u{10cb3}', '\u{10cbf}'),
+ ('\u{10cf3}', '\u{10cf9}'),
+ ('\u{10d28}', '\u{10d2f}'),
+ ('\u{10d3a}', '\u{10e5f}'),
+ ('\u{10e7f}', '\u{10e7f}'),
+ ('\u{10eaa}', '\u{10eaa}'),
+ ('\u{10eae}', '\u{10eaf}'),
+ ('\u{10eb2}', '\u{10efc}'),
+ ('\u{10f28}', '\u{10f2f}'),
+ ('\u{10f5a}', '\u{10f6f}'),
+ ('\u{10f8a}', '\u{10faf}'),
+ ('\u{10fcc}', '\u{10fdf}'),
+ ('\u{10ff7}', '\u{10fff}'),
+ ('\u{1104e}', '\u{11051}'),
+ ('\u{11076}', '\u{1107e}'),
+ ('\u{110c3}', '\u{110cc}'),
+ ('\u{110ce}', '\u{110cf}'),
+ ('\u{110e9}', '\u{110ef}'),
+ ('\u{110fa}', '\u{110ff}'),
+ ('\u{11135}', '\u{11135}'),
+ ('\u{11148}', '\u{1114f}'),
+ ('\u{11177}', '\u{1117f}'),
+ ('\u{111e0}', '\u{111e0}'),
+ ('\u{111f5}', '\u{111ff}'),
+ ('\u{11212}', '\u{11212}'),
+ ('\u{11242}', '\u{1127f}'),
+ ('\u{11287}', '\u{11287}'),
+ ('\u{11289}', '\u{11289}'),
+ ('\u{1128e}', '\u{1128e}'),
+ ('\u{1129e}', '\u{1129e}'),
+ ('\u{112aa}', '\u{112af}'),
+ ('\u{112eb}', '\u{112ef}'),
+ ('\u{112fa}', '\u{112ff}'),
+ ('\u{11304}', '\u{11304}'),
+ ('\u{1130d}', '\u{1130e}'),
+ ('\u{11311}', '\u{11312}'),
+ ('\u{11329}', '\u{11329}'),
+ ('\u{11331}', '\u{11331}'),
+ ('\u{11334}', '\u{11334}'),
+ ('\u{1133a}', '\u{1133a}'),
+ ('\u{11345}', '\u{11346}'),
+ ('\u{11349}', '\u{1134a}'),
+ ('\u{1134e}', '\u{1134f}'),
+ ('\u{11351}', '\u{11356}'),
+ ('\u{11358}', '\u{1135c}'),
+ ('\u{11364}', '\u{11365}'),
+ ('\u{1136d}', '\u{1136f}'),
+ ('\u{11375}', '\u{113ff}'),
+ ('\u{1145c}', '\u{1145c}'),
+ ('\u{11462}', '\u{1147f}'),
+ ('\u{114c8}', '\u{114cf}'),
+ ('\u{114da}', '\u{1157f}'),
+ ('\u{115b6}', '\u{115b7}'),
+ ('\u{115de}', '\u{115ff}'),
+ ('\u{11645}', '\u{1164f}'),
+ ('\u{1165a}', '\u{1165f}'),
+ ('\u{1166d}', '\u{1167f}'),
+ ('\u{116ba}', '\u{116bf}'),
+ ('\u{116ca}', '\u{116ff}'),
+ ('\u{1171b}', '\u{1171c}'),
+ ('\u{1172c}', '\u{1172f}'),
+ ('\u{11747}', '\u{117ff}'),
+ ('\u{1183c}', '\u{1189f}'),
+ ('\u{118f3}', '\u{118fe}'),
+ ('\u{11907}', '\u{11908}'),
+ ('\u{1190a}', '\u{1190b}'),
+ ('\u{11914}', '\u{11914}'),
+ ('\u{11917}', '\u{11917}'),
+ ('\u{11936}', '\u{11936}'),
+ ('\u{11939}', '\u{1193a}'),
+ ('\u{11947}', '\u{1194f}'),
+ ('\u{1195a}', '\u{1199f}'),
+ ('\u{119a8}', '\u{119a9}'),
+ ('\u{119d8}', '\u{119d9}'),
+ ('\u{119e5}', '\u{119ff}'),
+ ('\u{11a48}', '\u{11a4f}'),
+ ('\u{11aa3}', '\u{11aaf}'),
+ ('\u{11af9}', '\u{11aff}'),
+ ('\u{11b0a}', '\u{11bff}'),
+ ('\u{11c09}', '\u{11c09}'),
+ ('\u{11c37}', '\u{11c37}'),
+ ('\u{11c46}', '\u{11c4f}'),
+ ('\u{11c6d}', '\u{11c6f}'),
+ ('\u{11c90}', '\u{11c91}'),
+ ('\u{11ca8}', '\u{11ca8}'),
+ ('\u{11cb7}', '\u{11cff}'),
+ ('\u{11d07}', '\u{11d07}'),
+ ('\u{11d0a}', '\u{11d0a}'),
+ ('\u{11d37}', '\u{11d39}'),
+ ('\u{11d3b}', '\u{11d3b}'),
+ ('\u{11d3e}', '\u{11d3e}'),
+ ('\u{11d48}', '\u{11d4f}'),
+ ('\u{11d5a}', '\u{11d5f}'),
+ ('\u{11d66}', '\u{11d66}'),
+ ('\u{11d69}', '\u{11d69}'),
+ ('\u{11d8f}', '\u{11d8f}'),
+ ('\u{11d92}', '\u{11d92}'),
+ ('\u{11d99}', '\u{11d9f}'),
+ ('\u{11daa}', '\u{11edf}'),
+ ('\u{11ef9}', '\u{11eff}'),
+ ('\u{11f11}', '\u{11f11}'),
+ ('\u{11f3b}', '\u{11f3d}'),
+ ('\u{11f5a}', '\u{11faf}'),
+ ('\u{11fb1}', '\u{11fbf}'),
+ ('\u{11ff2}', '\u{11ffe}'),
+ ('\u{1239a}', '\u{123ff}'),
+ ('\u{1246f}', '\u{1246f}'),
+ ('\u{12475}', '\u{1247f}'),
+ ('\u{12544}', '\u{12f8f}'),
+ ('\u{12ff3}', '\u{12fff}'),
+ ('\u{13456}', '\u{143ff}'),
+ ('\u{14647}', '\u{167ff}'),
+ ('\u{16a39}', '\u{16a3f}'),
+ ('\u{16a5f}', '\u{16a5f}'),
+ ('\u{16a6a}', '\u{16a6d}'),
+ ('\u{16abf}', '\u{16abf}'),
+ ('\u{16aca}', '\u{16acf}'),
+ ('\u{16aee}', '\u{16aef}'),
+ ('\u{16af6}', '\u{16aff}'),
+ ('\u{16b46}', '\u{16b4f}'),
+ ('\u{16b5a}', '\u{16b5a}'),
+ ('\u{16b62}', '\u{16b62}'),
+ ('\u{16b78}', '\u{16b7c}'),
+ ('\u{16b90}', '\u{16e3f}'),
+ ('\u{16e9b}', '\u{16eff}'),
+ ('\u{16f4b}', '\u{16f4e}'),
+ ('\u{16f88}', '\u{16f8e}'),
+ ('\u{16fa0}', '\u{16fdf}'),
+ ('\u{16fe5}', '\u{16fef}'),
+ ('\u{16ff2}', '\u{16fff}'),
+ ('\u{187f8}', '\u{187ff}'),
+ ('\u{18cd6}', '\u{18cff}'),
+ ('\u{18d09}', '\u{1afef}'),
+ ('\u{1aff4}', '\u{1aff4}'),
+ ('\u{1affc}', '\u{1affc}'),
+ ('\u{1afff}', '\u{1afff}'),
+ ('\u{1b123}', '\u{1b131}'),
+ ('\u{1b133}', '\u{1b14f}'),
+ ('\u{1b153}', '\u{1b154}'),
+ ('\u{1b156}', '\u{1b163}'),
+ ('\u{1b168}', '\u{1b16f}'),
+ ('\u{1b2fc}', '\u{1bbff}'),
+ ('\u{1bc6b}', '\u{1bc6f}'),
+ ('\u{1bc7d}', '\u{1bc7f}'),
+ ('\u{1bc89}', '\u{1bc8f}'),
+ ('\u{1bc9a}', '\u{1bc9b}'),
+ ('\u{1bca4}', '\u{1ceff}'),
+ ('\u{1cf2e}', '\u{1cf2f}'),
+ ('\u{1cf47}', '\u{1cf4f}'),
+ ('\u{1cfc4}', '\u{1cfff}'),
+ ('\u{1d0f6}', '\u{1d0ff}'),
+ ('\u{1d127}', '\u{1d128}'),
+ ('\u{1d1eb}', '\u{1d1ff}'),
+ ('\u{1d246}', '\u{1d2bf}'),
+ ('\u{1d2d4}', '\u{1d2df}'),
+ ('\u{1d2f4}', '\u{1d2ff}'),
+ ('\u{1d357}', '\u{1d35f}'),
+ ('\u{1d379}', '\u{1d3ff}'),
+ ('\u{1d455}', '\u{1d455}'),
+ ('\u{1d49d}', '\u{1d49d}'),
+ ('\u{1d4a0}', '\u{1d4a1}'),
+ ('\u{1d4a3}', '\u{1d4a4}'),
+ ('\u{1d4a7}', '\u{1d4a8}'),
+ ('\u{1d4ad}', '\u{1d4ad}'),
+ ('\u{1d4ba}', '\u{1d4ba}'),
+ ('\u{1d4bc}', '\u{1d4bc}'),
+ ('\u{1d4c4}', '\u{1d4c4}'),
+ ('\u{1d506}', '\u{1d506}'),
+ ('\u{1d50b}', '\u{1d50c}'),
+ ('\u{1d515}', '\u{1d515}'),
+ ('\u{1d51d}', '\u{1d51d}'),
+ ('\u{1d53a}', '\u{1d53a}'),
+ ('\u{1d53f}', '\u{1d53f}'),
+ ('\u{1d545}', '\u{1d545}'),
+ ('\u{1d547}', '\u{1d549}'),
+ ('\u{1d551}', '\u{1d551}'),
+ ('\u{1d6a6}', '\u{1d6a7}'),
+ ('\u{1d7cc}', '\u{1d7cd}'),
+ ('\u{1da8c}', '\u{1da9a}'),
+ ('\u{1daa0}', '\u{1daa0}'),
+ ('\u{1dab0}', '\u{1deff}'),
+ ('\u{1df1f}', '\u{1df24}'),
+ ('\u{1df2b}', '\u{1dfff}'),
+ ('\u{1e007}', '\u{1e007}'),
+ ('\u{1e019}', '\u{1e01a}'),
+ ('\u{1e022}', '\u{1e022}'),
+ ('\u{1e025}', '\u{1e025}'),
+ ('\u{1e02b}', '\u{1e02f}'),
+ ('\u{1e06e}', '\u{1e08e}'),
+ ('\u{1e090}', '\u{1e0ff}'),
+ ('\u{1e12d}', '\u{1e12f}'),
+ ('\u{1e13e}', '\u{1e13f}'),
+ ('\u{1e14a}', '\u{1e14d}'),
+ ('\u{1e150}', '\u{1e28f}'),
+ ('\u{1e2af}', '\u{1e2bf}'),
+ ('\u{1e2fa}', '\u{1e2fe}'),
+ ('\u{1e300}', '\u{1e4cf}'),
+ ('\u{1e4fa}', '\u{1e7df}'),
+ ('\u{1e7e7}', '\u{1e7e7}'),
+ ('\u{1e7ec}', '\u{1e7ec}'),
+ ('\u{1e7ef}', '\u{1e7ef}'),
+ ('\u{1e7ff}', '\u{1e7ff}'),
+ ('\u{1e8c5}', '\u{1e8c6}'),
+ ('\u{1e8d7}', '\u{1e8ff}'),
+ ('\u{1e94c}', '\u{1e94f}'),
+ ('\u{1e95a}', '\u{1e95d}'),
+ ('\u{1e960}', '\u{1ec70}'),
+ ('\u{1ecb5}', '\u{1ed00}'),
+ ('\u{1ed3e}', '\u{1edff}'),
+ ('\u{1ee04}', '\u{1ee04}'),
+ ('\u{1ee20}', '\u{1ee20}'),
+ ('\u{1ee23}', '\u{1ee23}'),
+ ('\u{1ee25}', '\u{1ee26}'),
+ ('\u{1ee28}', '\u{1ee28}'),
+ ('\u{1ee33}', '\u{1ee33}'),
+ ('\u{1ee38}', '\u{1ee38}'),
+ ('\u{1ee3a}', '\u{1ee3a}'),
+ ('\u{1ee3c}', '\u{1ee41}'),
+ ('\u{1ee43}', '\u{1ee46}'),
+ ('\u{1ee48}', '\u{1ee48}'),
+ ('\u{1ee4a}', '\u{1ee4a}'),
+ ('\u{1ee4c}', '\u{1ee4c}'),
+ ('\u{1ee50}', '\u{1ee50}'),
+ ('\u{1ee53}', '\u{1ee53}'),
+ ('\u{1ee55}', '\u{1ee56}'),
+ ('\u{1ee58}', '\u{1ee58}'),
+ ('\u{1ee5a}', '\u{1ee5a}'),
+ ('\u{1ee5c}', '\u{1ee5c}'),
+ ('\u{1ee5e}', '\u{1ee5e}'),
+ ('\u{1ee60}', '\u{1ee60}'),
+ ('\u{1ee63}', '\u{1ee63}'),
+ ('\u{1ee65}', '\u{1ee66}'),
+ ('\u{1ee6b}', '\u{1ee6b}'),
+ ('\u{1ee73}', '\u{1ee73}'),
+ ('\u{1ee78}', '\u{1ee78}'),
+ ('\u{1ee7d}', '\u{1ee7d}'),
+ ('\u{1ee7f}', '\u{1ee7f}'),
+ ('\u{1ee8a}', '\u{1ee8a}'),
+ ('\u{1ee9c}', '\u{1eea0}'),
+ ('\u{1eea4}', '\u{1eea4}'),
+ ('\u{1eeaa}', '\u{1eeaa}'),
+ ('\u{1eebc}', '\u{1eeef}'),
+ ('\u{1eef2}', '\u{1efff}'),
+ ('\u{1f02c}', '\u{1f02f}'),
+ ('\u{1f094}', '\u{1f09f}'),
+ ('\u{1f0af}', '\u{1f0b0}'),
+ ('\u{1f0c0}', '\u{1f0c0}'),
+ ('\u{1f0d0}', '\u{1f0d0}'),
+ ('\u{1f0f6}', '\u{1f0ff}'),
+ ('\u{1f1ae}', '\u{1f1e5}'),
+ ('\u{1f203}', '\u{1f20f}'),
+ ('\u{1f23c}', '\u{1f23f}'),
+ ('\u{1f249}', '\u{1f24f}'),
+ ('\u{1f252}', '\u{1f25f}'),
+ ('\u{1f266}', '\u{1f2ff}'),
+ ('\u{1f6d8}', '\u{1f6db}'),
+ ('\u{1f6ed}', '\u{1f6ef}'),
+ ('\u{1f6fd}', '\u{1f6ff}'),
+ ('\u{1f777}', '\u{1f77a}'),
+ ('\u{1f7da}', '\u{1f7df}'),
+ ('\u{1f7ec}', '\u{1f7ef}'),
+ ('\u{1f7f1}', '\u{1f7ff}'),
+ ('\u{1f80c}', '\u{1f80f}'),
+ ('\u{1f848}', '\u{1f84f}'),
+ ('\u{1f85a}', '\u{1f85f}'),
+ ('\u{1f888}', '\u{1f88f}'),
+ ('\u{1f8ae}', '\u{1f8af}'),
+ ('\u{1f8b2}', '\u{1f8ff}'),
+ ('\u{1fa54}', '\u{1fa5f}'),
+ ('\u{1fa6e}', '\u{1fa6f}'),
+ ('\u{1fa7d}', '\u{1fa7f}'),
+ ('\u{1fa89}', '\u{1fa8f}'),
+ ('\u{1fabe}', '\u{1fabe}'),
+ ('\u{1fac6}', '\u{1facd}'),
+ ('\u{1fadc}', '\u{1fadf}'),
+ ('\u{1fae9}', '\u{1faef}'),
+ ('\u{1faf9}', '\u{1faff}'),
+ ('\u{1fb93}', '\u{1fb93}'),
+ ('\u{1fbcb}', '\u{1fbef}'),
+ ('\u{1fbfa}', '\u{1ffff}'),
+ ('\u{2a6e0}', '\u{2a6ff}'),
+ ('\u{2b73a}', '\u{2b73f}'),
+ ('\u{2b81e}', '\u{2b81f}'),
+ ('\u{2cea2}', '\u{2ceaf}'),
+ ('\u{2ebe1}', '\u{2f7ff}'),
+ ('\u{2fa1e}', '\u{2ffff}'),
+ ('\u{3134b}', '\u{3134f}'),
+ ('\u{323b0}', '\u{e0000}'),
+ ('\u{e0002}', '\u{e001f}'),
+ ('\u{e0080}', '\u{e00ff}'),
+ ('\u{e01f0}', '\u{effff}'),
+ ('\u{ffffe}', '\u{fffff}'),
+ ('\u{10fffe}', '\u{10ffff}'),
+];
+
+pub const UPPERCASE_LETTER: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('À', 'Ö'),
+ ('Ø', 'Þ'),
+ ('Ā', 'Ā'),
+ ('Ă', 'Ă'),
+ ('Ą', 'Ą'),
+ ('Ć', 'Ć'),
+ ('Ĉ', 'Ĉ'),
+ ('Ċ', 'Ċ'),
+ ('Č', 'Č'),
+ ('Ď', 'Ď'),
+ ('Đ', 'Đ'),
+ ('Ē', 'Ē'),
+ ('Ĕ', 'Ĕ'),
+ ('Ė', 'Ė'),
+ ('Ę', 'Ę'),
+ ('Ě', 'Ě'),
+ ('Ĝ', 'Ĝ'),
+ ('Ğ', 'Ğ'),
+ ('Ġ', 'Ġ'),
+ ('Ģ', 'Ģ'),
+ ('Ĥ', 'Ĥ'),
+ ('Ħ', 'Ħ'),
+ ('Ĩ', 'Ĩ'),
+ ('Ī', 'Ī'),
+ ('Ĭ', 'Ĭ'),
+ ('Į', 'Į'),
+ ('İ', 'İ'),
+ ('IJ', 'IJ'),
+ ('Ĵ', 'Ĵ'),
+ ('Ķ', 'Ķ'),
+ ('Ĺ', 'Ĺ'),
+ ('Ļ', 'Ļ'),
+ ('Ľ', 'Ľ'),
+ ('Ŀ', 'Ŀ'),
+ ('Ł', 'Ł'),
+ ('Ń', 'Ń'),
+ ('Ņ', 'Ņ'),
+ ('Ň', 'Ň'),
+ ('Ŋ', 'Ŋ'),
+ ('Ō', 'Ō'),
+ ('Ŏ', 'Ŏ'),
+ ('Ő', 'Ő'),
+ ('Œ', 'Œ'),
+ ('Ŕ', 'Ŕ'),
+ ('Ŗ', 'Ŗ'),
+ ('Ř', 'Ř'),
+ ('Ś', 'Ś'),
+ ('Ŝ', 'Ŝ'),
+ ('Ş', 'Ş'),
+ ('Š', 'Š'),
+ ('Ţ', 'Ţ'),
+ ('Ť', 'Ť'),
+ ('Ŧ', 'Ŧ'),
+ ('Ũ', 'Ũ'),
+ ('Ū', 'Ū'),
+ ('Ŭ', 'Ŭ'),
+ ('Ů', 'Ů'),
+ ('Ű', 'Ű'),
+ ('Ų', 'Ų'),
+ ('Ŵ', 'Ŵ'),
+ ('Ŷ', 'Ŷ'),
+ ('Ÿ', 'Ź'),
+ ('Ż', 'Ż'),
+ ('Ž', 'Ž'),
+ ('Ɓ', 'Ƃ'),
+ ('Ƅ', 'Ƅ'),
+ ('Ɔ', 'Ƈ'),
+ ('Ɖ', 'Ƌ'),
+ ('Ǝ', 'Ƒ'),
+ ('Ɠ', 'Ɣ'),
+ ('Ɩ', 'Ƙ'),
+ ('Ɯ', 'Ɲ'),
+ ('Ɵ', 'Ơ'),
+ ('Ƣ', 'Ƣ'),
+ ('Ƥ', 'Ƥ'),
+ ('Ʀ', 'Ƨ'),
+ ('Ʃ', 'Ʃ'),
+ ('Ƭ', 'Ƭ'),
+ ('Ʈ', 'Ư'),
+ ('Ʊ', 'Ƴ'),
+ ('Ƶ', 'Ƶ'),
+ ('Ʒ', 'Ƹ'),
+ ('Ƽ', 'Ƽ'),
+ ('DŽ', 'DŽ'),
+ ('LJ', 'LJ'),
+ ('NJ', 'NJ'),
+ ('Ǎ', 'Ǎ'),
+ ('Ǐ', 'Ǐ'),
+ ('Ǒ', 'Ǒ'),
+ ('Ǔ', 'Ǔ'),
+ ('Ǖ', 'Ǖ'),
+ ('Ǘ', 'Ǘ'),
+ ('Ǚ', 'Ǚ'),
+ ('Ǜ', 'Ǜ'),
+ ('Ǟ', 'Ǟ'),
+ ('Ǡ', 'Ǡ'),
+ ('Ǣ', 'Ǣ'),
+ ('Ǥ', 'Ǥ'),
+ ('Ǧ', 'Ǧ'),
+ ('Ǩ', 'Ǩ'),
+ ('Ǫ', 'Ǫ'),
+ ('Ǭ', 'Ǭ'),
+ ('Ǯ', 'Ǯ'),
+ ('DZ', 'DZ'),
+ ('Ǵ', 'Ǵ'),
+ ('Ƕ', 'Ǹ'),
+ ('Ǻ', 'Ǻ'),
+ ('Ǽ', 'Ǽ'),
+ ('Ǿ', 'Ǿ'),
+ ('Ȁ', 'Ȁ'),
+ ('Ȃ', 'Ȃ'),
+ ('Ȅ', 'Ȅ'),
+ ('Ȇ', 'Ȇ'),
+ ('Ȉ', 'Ȉ'),
+ ('Ȋ', 'Ȋ'),
+ ('Ȍ', 'Ȍ'),
+ ('Ȏ', 'Ȏ'),
+ ('Ȑ', 'Ȑ'),
+ ('Ȓ', 'Ȓ'),
+ ('Ȕ', 'Ȕ'),
+ ('Ȗ', 'Ȗ'),
+ ('Ș', 'Ș'),
+ ('Ț', 'Ț'),
+ ('Ȝ', 'Ȝ'),
+ ('Ȟ', 'Ȟ'),
+ ('Ƞ', 'Ƞ'),
+ ('Ȣ', 'Ȣ'),
+ ('Ȥ', 'Ȥ'),
+ ('Ȧ', 'Ȧ'),
+ ('Ȩ', 'Ȩ'),
+ ('Ȫ', 'Ȫ'),
+ ('Ȭ', 'Ȭ'),
+ ('Ȯ', 'Ȯ'),
+ ('Ȱ', 'Ȱ'),
+ ('Ȳ', 'Ȳ'),
+ ('Ⱥ', 'Ȼ'),
+ ('Ƚ', 'Ⱦ'),
+ ('Ɂ', 'Ɂ'),
+ ('Ƀ', 'Ɇ'),
+ ('Ɉ', 'Ɉ'),
+ ('Ɋ', 'Ɋ'),
+ ('Ɍ', 'Ɍ'),
+ ('Ɏ', 'Ɏ'),
+ ('Ͱ', 'Ͱ'),
+ ('Ͳ', 'Ͳ'),
+ ('Ͷ', 'Ͷ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ώ'),
+ ('Α', 'Ρ'),
+ ('Σ', 'Ϋ'),
+ ('Ϗ', 'Ϗ'),
+ ('ϒ', 'ϔ'),
+ ('Ϙ', 'Ϙ'),
+ ('Ϛ', 'Ϛ'),
+ ('Ϝ', 'Ϝ'),
+ ('Ϟ', 'Ϟ'),
+ ('Ϡ', 'Ϡ'),
+ ('Ϣ', 'Ϣ'),
+ ('Ϥ', 'Ϥ'),
+ ('Ϧ', 'Ϧ'),
+ ('Ϩ', 'Ϩ'),
+ ('Ϫ', 'Ϫ'),
+ ('Ϭ', 'Ϭ'),
+ ('Ϯ', 'Ϯ'),
+ ('ϴ', 'ϴ'),
+ ('Ϸ', 'Ϸ'),
+ ('Ϲ', 'Ϻ'),
+ ('Ͻ', 'Я'),
+ ('Ѡ', 'Ѡ'),
+ ('Ѣ', 'Ѣ'),
+ ('Ѥ', 'Ѥ'),
+ ('Ѧ', 'Ѧ'),
+ ('Ѩ', 'Ѩ'),
+ ('Ѫ', 'Ѫ'),
+ ('Ѭ', 'Ѭ'),
+ ('Ѯ', 'Ѯ'),
+ ('Ѱ', 'Ѱ'),
+ ('Ѳ', 'Ѳ'),
+ ('Ѵ', 'Ѵ'),
+ ('Ѷ', 'Ѷ'),
+ ('Ѹ', 'Ѹ'),
+ ('Ѻ', 'Ѻ'),
+ ('Ѽ', 'Ѽ'),
+ ('Ѿ', 'Ѿ'),
+ ('Ҁ', 'Ҁ'),
+ ('Ҋ', 'Ҋ'),
+ ('Ҍ', 'Ҍ'),
+ ('Ҏ', 'Ҏ'),
+ ('Ґ', 'Ґ'),
+ ('Ғ', 'Ғ'),
+ ('Ҕ', 'Ҕ'),
+ ('Җ', 'Җ'),
+ ('Ҙ', 'Ҙ'),
+ ('Қ', 'Қ'),
+ ('Ҝ', 'Ҝ'),
+ ('Ҟ', 'Ҟ'),
+ ('Ҡ', 'Ҡ'),
+ ('Ң', 'Ң'),
+ ('Ҥ', 'Ҥ'),
+ ('Ҧ', 'Ҧ'),
+ ('Ҩ', 'Ҩ'),
+ ('Ҫ', 'Ҫ'),
+ ('Ҭ', 'Ҭ'),
+ ('Ү', 'Ү'),
+ ('Ұ', 'Ұ'),
+ ('Ҳ', 'Ҳ'),
+ ('Ҵ', 'Ҵ'),
+ ('Ҷ', 'Ҷ'),
+ ('Ҹ', 'Ҹ'),
+ ('Һ', 'Һ'),
+ ('Ҽ', 'Ҽ'),
+ ('Ҿ', 'Ҿ'),
+ ('Ӏ', 'Ӂ'),
+ ('Ӄ', 'Ӄ'),
+ ('Ӆ', 'Ӆ'),
+ ('Ӈ', 'Ӈ'),
+ ('Ӊ', 'Ӊ'),
+ ('Ӌ', 'Ӌ'),
+ ('Ӎ', 'Ӎ'),
+ ('Ӑ', 'Ӑ'),
+ ('Ӓ', 'Ӓ'),
+ ('Ӕ', 'Ӕ'),
+ ('Ӗ', 'Ӗ'),
+ ('Ә', 'Ә'),
+ ('Ӛ', 'Ӛ'),
+ ('Ӝ', 'Ӝ'),
+ ('Ӟ', 'Ӟ'),
+ ('Ӡ', 'Ӡ'),
+ ('Ӣ', 'Ӣ'),
+ ('Ӥ', 'Ӥ'),
+ ('Ӧ', 'Ӧ'),
+ ('Ө', 'Ө'),
+ ('Ӫ', 'Ӫ'),
+ ('Ӭ', 'Ӭ'),
+ ('Ӯ', 'Ӯ'),
+ ('Ӱ', 'Ӱ'),
+ ('Ӳ', 'Ӳ'),
+ ('Ӵ', 'Ӵ'),
+ ('Ӷ', 'Ӷ'),
+ ('Ӹ', 'Ӹ'),
+ ('Ӻ', 'Ӻ'),
+ ('Ӽ', 'Ӽ'),
+ ('Ӿ', 'Ӿ'),
+ ('Ԁ', 'Ԁ'),
+ ('Ԃ', 'Ԃ'),
+ ('Ԅ', 'Ԅ'),
+ ('Ԇ', 'Ԇ'),
+ ('Ԉ', 'Ԉ'),
+ ('Ԋ', 'Ԋ'),
+ ('Ԍ', 'Ԍ'),
+ ('Ԏ', 'Ԏ'),
+ ('Ԑ', 'Ԑ'),
+ ('Ԓ', 'Ԓ'),
+ ('Ԕ', 'Ԕ'),
+ ('Ԗ', 'Ԗ'),
+ ('Ԙ', 'Ԙ'),
+ ('Ԛ', 'Ԛ'),
+ ('Ԝ', 'Ԝ'),
+ ('Ԟ', 'Ԟ'),
+ ('Ԡ', 'Ԡ'),
+ ('Ԣ', 'Ԣ'),
+ ('Ԥ', 'Ԥ'),
+ ('Ԧ', 'Ԧ'),
+ ('Ԩ', 'Ԩ'),
+ ('Ԫ', 'Ԫ'),
+ ('Ԭ', 'Ԭ'),
+ ('Ԯ', 'Ԯ'),
+ ('Ա', 'Ֆ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('Ḁ', 'Ḁ'),
+ ('Ḃ', 'Ḃ'),
+ ('Ḅ', 'Ḅ'),
+ ('Ḇ', 'Ḇ'),
+ ('Ḉ', 'Ḉ'),
+ ('Ḋ', 'Ḋ'),
+ ('Ḍ', 'Ḍ'),
+ ('Ḏ', 'Ḏ'),
+ ('Ḑ', 'Ḑ'),
+ ('Ḓ', 'Ḓ'),
+ ('Ḕ', 'Ḕ'),
+ ('Ḗ', 'Ḗ'),
+ ('Ḙ', 'Ḙ'),
+ ('Ḛ', 'Ḛ'),
+ ('Ḝ', 'Ḝ'),
+ ('Ḟ', 'Ḟ'),
+ ('Ḡ', 'Ḡ'),
+ ('Ḣ', 'Ḣ'),
+ ('Ḥ', 'Ḥ'),
+ ('Ḧ', 'Ḧ'),
+ ('Ḩ', 'Ḩ'),
+ ('Ḫ', 'Ḫ'),
+ ('Ḭ', 'Ḭ'),
+ ('Ḯ', 'Ḯ'),
+ ('Ḱ', 'Ḱ'),
+ ('Ḳ', 'Ḳ'),
+ ('Ḵ', 'Ḵ'),
+ ('Ḷ', 'Ḷ'),
+ ('Ḹ', 'Ḹ'),
+ ('Ḻ', 'Ḻ'),
+ ('Ḽ', 'Ḽ'),
+ ('Ḿ', 'Ḿ'),
+ ('Ṁ', 'Ṁ'),
+ ('Ṃ', 'Ṃ'),
+ ('Ṅ', 'Ṅ'),
+ ('Ṇ', 'Ṇ'),
+ ('Ṉ', 'Ṉ'),
+ ('Ṋ', 'Ṋ'),
+ ('Ṍ', 'Ṍ'),
+ ('Ṏ', 'Ṏ'),
+ ('Ṑ', 'Ṑ'),
+ ('Ṓ', 'Ṓ'),
+ ('Ṕ', 'Ṕ'),
+ ('Ṗ', 'Ṗ'),
+ ('Ṙ', 'Ṙ'),
+ ('Ṛ', 'Ṛ'),
+ ('Ṝ', 'Ṝ'),
+ ('Ṟ', 'Ṟ'),
+ ('Ṡ', 'Ṡ'),
+ ('Ṣ', 'Ṣ'),
+ ('Ṥ', 'Ṥ'),
+ ('Ṧ', 'Ṧ'),
+ ('Ṩ', 'Ṩ'),
+ ('Ṫ', 'Ṫ'),
+ ('Ṭ', 'Ṭ'),
+ ('Ṯ', 'Ṯ'),
+ ('Ṱ', 'Ṱ'),
+ ('Ṳ', 'Ṳ'),
+ ('Ṵ', 'Ṵ'),
+ ('Ṷ', 'Ṷ'),
+ ('Ṹ', 'Ṹ'),
+ ('Ṻ', 'Ṻ'),
+ ('Ṽ', 'Ṽ'),
+ ('Ṿ', 'Ṿ'),
+ ('Ẁ', 'Ẁ'),
+ ('Ẃ', 'Ẃ'),
+ ('Ẅ', 'Ẅ'),
+ ('Ẇ', 'Ẇ'),
+ ('Ẉ', 'Ẉ'),
+ ('Ẋ', 'Ẋ'),
+ ('Ẍ', 'Ẍ'),
+ ('Ẏ', 'Ẏ'),
+ ('Ẑ', 'Ẑ'),
+ ('Ẓ', 'Ẓ'),
+ ('Ẕ', 'Ẕ'),
+ ('ẞ', 'ẞ'),
+ ('Ạ', 'Ạ'),
+ ('Ả', 'Ả'),
+ ('Ấ', 'Ấ'),
+ ('Ầ', 'Ầ'),
+ ('Ẩ', 'Ẩ'),
+ ('Ẫ', 'Ẫ'),
+ ('Ậ', 'Ậ'),
+ ('Ắ', 'Ắ'),
+ ('Ằ', 'Ằ'),
+ ('Ẳ', 'Ẳ'),
+ ('Ẵ', 'Ẵ'),
+ ('Ặ', 'Ặ'),
+ ('Ẹ', 'Ẹ'),
+ ('Ẻ', 'Ẻ'),
+ ('Ẽ', 'Ẽ'),
+ ('Ế', 'Ế'),
+ ('Ề', 'Ề'),
+ ('Ể', 'Ể'),
+ ('Ễ', 'Ễ'),
+ ('Ệ', 'Ệ'),
+ ('Ỉ', 'Ỉ'),
+ ('Ị', 'Ị'),
+ ('Ọ', 'Ọ'),
+ ('Ỏ', 'Ỏ'),
+ ('Ố', 'Ố'),
+ ('Ồ', 'Ồ'),
+ ('Ổ', 'Ổ'),
+ ('Ỗ', 'Ỗ'),
+ ('Ộ', 'Ộ'),
+ ('Ớ', 'Ớ'),
+ ('Ờ', 'Ờ'),
+ ('Ở', 'Ở'),
+ ('Ỡ', 'Ỡ'),
+ ('Ợ', 'Ợ'),
+ ('Ụ', 'Ụ'),
+ ('Ủ', 'Ủ'),
+ ('Ứ', 'Ứ'),
+ ('Ừ', 'Ừ'),
+ ('Ử', 'Ử'),
+ ('Ữ', 'Ữ'),
+ ('Ự', 'Ự'),
+ ('Ỳ', 'Ỳ'),
+ ('Ỵ', 'Ỵ'),
+ ('Ỷ', 'Ỷ'),
+ ('Ỹ', 'Ỹ'),
+ ('Ỻ', 'Ỻ'),
+ ('Ỽ', 'Ỽ'),
+ ('Ỿ', 'Ỿ'),
+ ('Ἀ', 'Ἇ'),
+ ('Ἐ', 'Ἕ'),
+ ('Ἠ', 'Ἧ'),
+ ('Ἰ', 'Ἷ'),
+ ('Ὀ', 'Ὅ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'Ὗ'),
+ ('Ὠ', 'Ὧ'),
+ ('Ᾰ', 'Ά'),
+ ('Ὲ', 'Ή'),
+ ('Ῐ', 'Ί'),
+ ('Ῠ', 'Ῥ'),
+ ('Ὸ', 'Ώ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℋ', 'ℍ'),
+ ('ℐ', 'ℒ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℰ', 'ℳ'),
+ ('ℾ', 'ℿ'),
+ ('ⅅ', 'ⅅ'),
+ ('Ↄ', 'Ↄ'),
+ ('Ⰰ', 'Ⱟ'),
+ ('Ⱡ', 'Ⱡ'),
+ ('Ɫ', 'Ɽ'),
+ ('Ⱨ', 'Ⱨ'),
+ ('Ⱪ', 'Ⱪ'),
+ ('Ⱬ', 'Ⱬ'),
+ ('Ɑ', 'Ɒ'),
+ ('Ⱳ', 'Ⱳ'),
+ ('Ⱶ', 'Ⱶ'),
+ ('Ȿ', 'Ⲁ'),
+ ('Ⲃ', 'Ⲃ'),
+ ('Ⲅ', 'Ⲅ'),
+ ('Ⲇ', 'Ⲇ'),
+ ('Ⲉ', 'Ⲉ'),
+ ('Ⲋ', 'Ⲋ'),
+ ('Ⲍ', 'Ⲍ'),
+ ('Ⲏ', 'Ⲏ'),
+ ('Ⲑ', 'Ⲑ'),
+ ('Ⲓ', 'Ⲓ'),
+ ('Ⲕ', 'Ⲕ'),
+ ('Ⲗ', 'Ⲗ'),
+ ('Ⲙ', 'Ⲙ'),
+ ('Ⲛ', 'Ⲛ'),
+ ('Ⲝ', 'Ⲝ'),
+ ('Ⲟ', 'Ⲟ'),
+ ('Ⲡ', 'Ⲡ'),
+ ('Ⲣ', 'Ⲣ'),
+ ('Ⲥ', 'Ⲥ'),
+ ('Ⲧ', 'Ⲧ'),
+ ('Ⲩ', 'Ⲩ'),
+ ('Ⲫ', 'Ⲫ'),
+ ('Ⲭ', 'Ⲭ'),
+ ('Ⲯ', 'Ⲯ'),
+ ('Ⲱ', 'Ⲱ'),
+ ('Ⲳ', 'Ⲳ'),
+ ('Ⲵ', 'Ⲵ'),
+ ('Ⲷ', 'Ⲷ'),
+ ('Ⲹ', 'Ⲹ'),
+ ('Ⲻ', 'Ⲻ'),
+ ('Ⲽ', 'Ⲽ'),
+ ('Ⲿ', 'Ⲿ'),
+ ('Ⳁ', 'Ⳁ'),
+ ('Ⳃ', 'Ⳃ'),
+ ('Ⳅ', 'Ⳅ'),
+ ('Ⳇ', 'Ⳇ'),
+ ('Ⳉ', 'Ⳉ'),
+ ('Ⳋ', 'Ⳋ'),
+ ('Ⳍ', 'Ⳍ'),
+ ('Ⳏ', 'Ⳏ'),
+ ('Ⳑ', 'Ⳑ'),
+ ('Ⳓ', 'Ⳓ'),
+ ('Ⳕ', 'Ⳕ'),
+ ('Ⳗ', 'Ⳗ'),
+ ('Ⳙ', 'Ⳙ'),
+ ('Ⳛ', 'Ⳛ'),
+ ('Ⳝ', 'Ⳝ'),
+ ('Ⳟ', 'Ⳟ'),
+ ('Ⳡ', 'Ⳡ'),
+ ('Ⳣ', 'Ⳣ'),
+ ('Ⳬ', 'Ⳬ'),
+ ('Ⳮ', 'Ⳮ'),
+ ('Ⳳ', 'Ⳳ'),
+ ('Ꙁ', 'Ꙁ'),
+ ('Ꙃ', 'Ꙃ'),
+ ('Ꙅ', 'Ꙅ'),
+ ('Ꙇ', 'Ꙇ'),
+ ('Ꙉ', 'Ꙉ'),
+ ('Ꙋ', 'Ꙋ'),
+ ('Ꙍ', 'Ꙍ'),
+ ('Ꙏ', 'Ꙏ'),
+ ('Ꙑ', 'Ꙑ'),
+ ('Ꙓ', 'Ꙓ'),
+ ('Ꙕ', 'Ꙕ'),
+ ('Ꙗ', 'Ꙗ'),
+ ('Ꙙ', 'Ꙙ'),
+ ('Ꙛ', 'Ꙛ'),
+ ('Ꙝ', 'Ꙝ'),
+ ('Ꙟ', 'Ꙟ'),
+ ('Ꙡ', 'Ꙡ'),
+ ('Ꙣ', 'Ꙣ'),
+ ('Ꙥ', 'Ꙥ'),
+ ('Ꙧ', 'Ꙧ'),
+ ('Ꙩ', 'Ꙩ'),
+ ('Ꙫ', 'Ꙫ'),
+ ('Ꙭ', 'Ꙭ'),
+ ('Ꚁ', 'Ꚁ'),
+ ('Ꚃ', 'Ꚃ'),
+ ('Ꚅ', 'Ꚅ'),
+ ('Ꚇ', 'Ꚇ'),
+ ('Ꚉ', 'Ꚉ'),
+ ('Ꚋ', 'Ꚋ'),
+ ('Ꚍ', 'Ꚍ'),
+ ('Ꚏ', 'Ꚏ'),
+ ('Ꚑ', 'Ꚑ'),
+ ('Ꚓ', 'Ꚓ'),
+ ('Ꚕ', 'Ꚕ'),
+ ('Ꚗ', 'Ꚗ'),
+ ('Ꚙ', 'Ꚙ'),
+ ('Ꚛ', 'Ꚛ'),
+ ('Ꜣ', 'Ꜣ'),
+ ('Ꜥ', 'Ꜥ'),
+ ('Ꜧ', 'Ꜧ'),
+ ('Ꜩ', 'Ꜩ'),
+ ('Ꜫ', 'Ꜫ'),
+ ('Ꜭ', 'Ꜭ'),
+ ('Ꜯ', 'Ꜯ'),
+ ('Ꜳ', 'Ꜳ'),
+ ('Ꜵ', 'Ꜵ'),
+ ('Ꜷ', 'Ꜷ'),
+ ('Ꜹ', 'Ꜹ'),
+ ('Ꜻ', 'Ꜻ'),
+ ('Ꜽ', 'Ꜽ'),
+ ('Ꜿ', 'Ꜿ'),
+ ('Ꝁ', 'Ꝁ'),
+ ('Ꝃ', 'Ꝃ'),
+ ('Ꝅ', 'Ꝅ'),
+ ('Ꝇ', 'Ꝇ'),
+ ('Ꝉ', 'Ꝉ'),
+ ('Ꝋ', 'Ꝋ'),
+ ('Ꝍ', 'Ꝍ'),
+ ('Ꝏ', 'Ꝏ'),
+ ('Ꝑ', 'Ꝑ'),
+ ('Ꝓ', 'Ꝓ'),
+ ('Ꝕ', 'Ꝕ'),
+ ('Ꝗ', 'Ꝗ'),
+ ('Ꝙ', 'Ꝙ'),
+ ('Ꝛ', 'Ꝛ'),
+ ('Ꝝ', 'Ꝝ'),
+ ('Ꝟ', 'Ꝟ'),
+ ('Ꝡ', 'Ꝡ'),
+ ('Ꝣ', 'Ꝣ'),
+ ('Ꝥ', 'Ꝥ'),
+ ('Ꝧ', 'Ꝧ'),
+ ('Ꝩ', 'Ꝩ'),
+ ('Ꝫ', 'Ꝫ'),
+ ('Ꝭ', 'Ꝭ'),
+ ('Ꝯ', 'Ꝯ'),
+ ('Ꝺ', 'Ꝺ'),
+ ('Ꝼ', 'Ꝼ'),
+ ('Ᵹ', 'Ꝿ'),
+ ('Ꞁ', 'Ꞁ'),
+ ('Ꞃ', 'Ꞃ'),
+ ('Ꞅ', 'Ꞅ'),
+ ('Ꞇ', 'Ꞇ'),
+ ('Ꞌ', 'Ꞌ'),
+ ('Ɥ', 'Ɥ'),
+ ('Ꞑ', 'Ꞑ'),
+ ('Ꞓ', 'Ꞓ'),
+ ('Ꞗ', 'Ꞗ'),
+ ('Ꞙ', 'Ꞙ'),
+ ('Ꞛ', 'Ꞛ'),
+ ('Ꞝ', 'Ꞝ'),
+ ('Ꞟ', 'Ꞟ'),
+ ('Ꞡ', 'Ꞡ'),
+ ('Ꞣ', 'Ꞣ'),
+ ('Ꞥ', 'Ꞥ'),
+ ('Ꞧ', 'Ꞧ'),
+ ('Ꞩ', 'Ꞩ'),
+ ('Ɦ', 'Ɪ'),
+ ('Ʞ', 'Ꞵ'),
+ ('Ꞷ', 'Ꞷ'),
+ ('Ꞹ', 'Ꞹ'),
+ ('Ꞻ', 'Ꞻ'),
+ ('Ꞽ', 'Ꞽ'),
+ ('Ꞿ', 'Ꞿ'),
+ ('Ꟁ', 'Ꟁ'),
+ ('Ꟃ', 'Ꟃ'),
+ ('Ꞔ', 'Ꟈ'),
+ ('Ꟊ', 'Ꟊ'),
+ ('Ꟑ', 'Ꟑ'),
+ ('Ꟗ', 'Ꟗ'),
+ ('Ꟙ', 'Ꟙ'),
+ ('Ꟶ', 'Ꟶ'),
+ ('A', 'Z'),
+ ('𐐀', '𐐧'),
+ ('𐒰', '𐓓'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐲀', '𐲲'),
+ ('𑢠', '𑢿'),
+ ('𖹀', '𖹟'),
+ ('𝐀', '𝐙'),
+ ('𝐴', '𝑍'),
+ ('𝑨', '𝒁'),
+ ('𝒜', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒵'),
+ ('𝓐', '𝓩'),
+ ('𝔄', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔸', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕬', '𝖅'),
+ ('𝖠', '𝖹'),
+ ('𝗔', '𝗭'),
+ ('𝘈', '𝘡'),
+ ('𝘼', '𝙕'),
+ ('𝙰', '𝚉'),
+ ('𝚨', '𝛀'),
+ ('𝛢', '𝛺'),
+ ('𝜜', '𝜴'),
+ ('𝝖', '𝝮'),
+ ('𝞐', '𝞨'),
+ ('𝟊', '𝟊'),
+ ('𞤀', '𞤡'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/grapheme_cluster_break.rs b/third_party/rust/regex-syntax/src/unicode_tables/grapheme_cluster_break.rs
new file mode 100644
index 0000000000..294dfbdcc0
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/grapheme_cluster_break.rs
@@ -0,0 +1,1416 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate grapheme-cluster-break ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("CR", CR),
+ ("Control", CONTROL),
+ ("Extend", EXTEND),
+ ("L", L),
+ ("LF", LF),
+ ("LV", LV),
+ ("LVT", LVT),
+ ("Prepend", PREPEND),
+ ("Regional_Indicator", REGIONAL_INDICATOR),
+ ("SpacingMark", SPACINGMARK),
+ ("T", T),
+ ("V", V),
+ ("ZWJ", ZWJ),
+];
+
+pub const CR: &'static [(char, char)] = &[('\r', '\r')];
+
+pub const CONTROL: &'static [(char, char)] = &[
+ ('\0', '\t'),
+ ('\u{b}', '\u{c}'),
+ ('\u{e}', '\u{1f}'),
+ ('\u{7f}', '\u{9f}'),
+ ('\u{ad}', '\u{ad}'),
+ ('\u{61c}', '\u{61c}'),
+ ('\u{180e}', '\u{180e}'),
+ ('\u{200b}', '\u{200b}'),
+ ('\u{200e}', '\u{200f}'),
+ ('\u{2028}', '\u{202e}'),
+ ('\u{2060}', '\u{206f}'),
+ ('\u{feff}', '\u{feff}'),
+ ('\u{fff0}', '\u{fffb}'),
+ ('\u{13430}', '\u{1343f}'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('\u{1d173}', '\u{1d17a}'),
+ ('\u{e0000}', '\u{e001f}'),
+ ('\u{e0080}', '\u{e00ff}'),
+ ('\u{e01f0}', '\u{e0fff}'),
+];
+
+pub const EXTEND: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{483}', '\u{489}'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6df}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', '\u{7f3}'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{819}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('\u{898}', '\u{89f}'),
+ ('\u{8ca}', '\u{8e1}'),
+ ('\u{8e3}', '\u{902}'),
+ ('\u{93a}', '\u{93a}'),
+ ('\u{93c}', '\u{93c}'),
+ ('\u{941}', '\u{948}'),
+ ('\u{94d}', '\u{94d}'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', '\u{981}'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9be}', '\u{9be}'),
+ ('\u{9c1}', '\u{9c4}'),
+ ('\u{9cd}', '\u{9cd}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', '\u{a02}'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('\u{a41}', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', '\u{a82}'),
+ ('\u{abc}', '\u{abc}'),
+ ('\u{ac1}', '\u{ac5}'),
+ ('\u{ac7}', '\u{ac8}'),
+ ('\u{acd}', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', '\u{b01}'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3e}', '\u{b3f}'),
+ ('\u{b41}', '\u{b44}'),
+ ('\u{b4d}', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bbe}', '\u{bbe}'),
+ ('\u{bc0}', '\u{bc0}'),
+ ('\u{bcd}', '\u{bcd}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', '\u{c00}'),
+ ('\u{c04}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', '\u{c40}'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', '\u{c81}'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('\u{cbf}', '\u{cbf}'),
+ ('\u{cc2}', '\u{cc2}'),
+ ('\u{cc6}', '\u{cc6}'),
+ ('\u{ccc}', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('\u{d00}', '\u{d01}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d3e}', '\u{d3e}'),
+ ('\u{d41}', '\u{d44}'),
+ ('\u{d4d}', '\u{d4d}'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', '\u{d81}'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dcf}'),
+ ('\u{dd2}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('\u{ddf}', '\u{ddf}'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e47}', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('\u{f71}', '\u{f7e}'),
+ ('\u{f80}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('\u{102d}', '\u{1030}'),
+ ('\u{1032}', '\u{1037}'),
+ ('\u{1039}', '\u{103a}'),
+ ('\u{103d}', '\u{103e}'),
+ ('\u{1058}', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{1082}'),
+ ('\u{1085}', '\u{1086}'),
+ ('\u{108d}', '\u{108d}'),
+ ('\u{109d}', '\u{109d}'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '\u{1714}'),
+ ('\u{1732}', '\u{1733}'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17b5}'),
+ ('\u{17b7}', '\u{17bd}'),
+ ('\u{17c6}', '\u{17c6}'),
+ ('\u{17c9}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', '\u{1922}'),
+ ('\u{1927}', '\u{1928}'),
+ ('\u{1932}', '\u{1932}'),
+ ('\u{1939}', '\u{193b}'),
+ ('\u{1a17}', '\u{1a18}'),
+ ('\u{1a1b}', '\u{1a1b}'),
+ ('\u{1a56}', '\u{1a56}'),
+ ('\u{1a58}', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a60}'),
+ ('\u{1a62}', '\u{1a62}'),
+ ('\u{1a65}', '\u{1a6c}'),
+ ('\u{1a73}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', '\u{1b03}'),
+ ('\u{1b34}', '\u{1b3a}'),
+ ('\u{1b3c}', '\u{1b3c}'),
+ ('\u{1b42}', '\u{1b42}'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '\u{1b81}'),
+ ('\u{1ba2}', '\u{1ba5}'),
+ ('\u{1ba8}', '\u{1ba9}'),
+ ('\u{1bab}', '\u{1bad}'),
+ ('\u{1be6}', '\u{1be6}'),
+ ('\u{1be8}', '\u{1be9}'),
+ ('\u{1bed}', '\u{1bed}'),
+ ('\u{1bef}', '\u{1bf1}'),
+ ('\u{1c2c}', '\u{1c33}'),
+ ('\u{1c36}', '\u{1c37}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce0}'),
+ ('\u{1ce2}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{200c}', '\u{200c}'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{302a}', '\u{302f}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{a66f}', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('\u{a825}', '\u{a826}'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('\u{a8c4}', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '\u{a951}'),
+ ('\u{a980}', '\u{a982}'),
+ ('\u{a9b3}', '\u{a9b3}'),
+ ('\u{a9b6}', '\u{a9b9}'),
+ ('\u{a9bc}', '\u{a9bd}'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa2e}'),
+ ('\u{aa31}', '\u{aa32}'),
+ ('\u{aa35}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', '\u{aa4c}'),
+ ('\u{aa7c}', '\u{aa7c}'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('\u{aaec}', '\u{aaed}'),
+ ('\u{aaf6}', '\u{aaf6}'),
+ ('\u{abe5}', '\u{abe5}'),
+ ('\u{abe8}', '\u{abe8}'),
+ ('\u{abed}', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('\u{11001}', '\u{11001}'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '\u{11081}'),
+ ('\u{110b3}', '\u{110b6}'),
+ ('\u{110b9}', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{1112b}'),
+ ('\u{1112d}', '\u{11134}'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '\u{11181}'),
+ ('\u{111b6}', '\u{111be}'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('\u{111cf}', '\u{111cf}'),
+ ('\u{1122f}', '\u{11231}'),
+ ('\u{11234}', '\u{11234}'),
+ ('\u{11236}', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112df}'),
+ ('\u{112e3}', '\u{112ea}'),
+ ('\u{11300}', '\u{11301}'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{1133e}', '\u{1133e}'),
+ ('\u{11340}', '\u{11340}'),
+ ('\u{11357}', '\u{11357}'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('\u{11438}', '\u{1143f}'),
+ ('\u{11442}', '\u{11444}'),
+ ('\u{11446}', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b0}', '\u{114b0}'),
+ ('\u{114b3}', '\u{114b8}'),
+ ('\u{114ba}', '\u{114ba}'),
+ ('\u{114bd}', '\u{114bd}'),
+ ('\u{114bf}', '\u{114c0}'),
+ ('\u{114c2}', '\u{114c3}'),
+ ('\u{115af}', '\u{115af}'),
+ ('\u{115b2}', '\u{115b5}'),
+ ('\u{115bc}', '\u{115bd}'),
+ ('\u{115bf}', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('\u{11633}', '\u{1163a}'),
+ ('\u{1163d}', '\u{1163d}'),
+ ('\u{1163f}', '\u{11640}'),
+ ('\u{116ab}', '\u{116ab}'),
+ ('\u{116ad}', '\u{116ad}'),
+ ('\u{116b0}', '\u{116b5}'),
+ ('\u{116b7}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1171f}'),
+ ('\u{11722}', '\u{11725}'),
+ ('\u{11727}', '\u{1172b}'),
+ ('\u{1182f}', '\u{11837}'),
+ ('\u{11839}', '\u{1183a}'),
+ ('\u{11930}', '\u{11930}'),
+ ('\u{1193b}', '\u{1193c}'),
+ ('\u{1193e}', '\u{1193e}'),
+ ('\u{11943}', '\u{11943}'),
+ ('\u{119d4}', '\u{119d7}'),
+ ('\u{119da}', '\u{119db}'),
+ ('\u{119e0}', '\u{119e0}'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '\u{11a38}'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a56}'),
+ ('\u{11a59}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a96}'),
+ ('\u{11a98}', '\u{11a99}'),
+ ('\u{11c30}', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3d}'),
+ ('\u{11c3f}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('\u{11caa}', '\u{11cb0}'),
+ ('\u{11cb2}', '\u{11cb3}'),
+ ('\u{11cb5}', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('\u{11d95}', '\u{11d95}'),
+ ('\u{11d97}', '\u{11d97}'),
+ ('\u{11ef3}', '\u{11ef4}'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('\u{11f36}', '\u{11f3a}'),
+ ('\u{11f40}', '\u{11f40}'),
+ ('\u{11f42}', '\u{11f42}'),
+ ('\u{13440}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d165}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('\u{1d16e}', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e4ec}', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e94a}'),
+ ('🏻', '🏿'),
+ ('\u{e0020}', '\u{e007f}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const L: &'static [(char, char)] = &[('ᄀ', 'ᅟ'), ('ꥠ', 'ꥼ')];
+
+pub const LF: &'static [(char, char)] = &[('\n', '\n')];
+
+pub const LV: &'static [(char, char)] = &[
+ ('가', '가'),
+ ('개', '개'),
+ ('갸', '갸'),
+ ('걔', '걔'),
+ ('거', '거'),
+ ('게', '게'),
+ ('겨', '겨'),
+ ('계', '계'),
+ ('고', '고'),
+ ('과', '과'),
+ ('괘', '괘'),
+ ('괴', '괴'),
+ ('교', '교'),
+ ('구', '구'),
+ ('궈', '궈'),
+ ('궤', '궤'),
+ ('귀', '귀'),
+ ('규', '규'),
+ ('그', '그'),
+ ('긔', '긔'),
+ ('기', '기'),
+ ('까', '까'),
+ ('깨', '깨'),
+ ('꺄', '꺄'),
+ ('꺠', '꺠'),
+ ('꺼', '꺼'),
+ ('께', '께'),
+ ('껴', '껴'),
+ ('꼐', '꼐'),
+ ('꼬', '꼬'),
+ ('꽈', '꽈'),
+ ('꽤', '꽤'),
+ ('꾀', '꾀'),
+ ('꾜', '꾜'),
+ ('꾸', '꾸'),
+ ('꿔', '꿔'),
+ ('꿰', '꿰'),
+ ('뀌', '뀌'),
+ ('뀨', '뀨'),
+ ('끄', '끄'),
+ ('끠', '끠'),
+ ('끼', '끼'),
+ ('나', '나'),
+ ('내', '내'),
+ ('냐', '냐'),
+ ('냬', '냬'),
+ ('너', '너'),
+ ('네', '네'),
+ ('녀', '녀'),
+ ('녜', '녜'),
+ ('노', '노'),
+ ('놔', '놔'),
+ ('놰', '놰'),
+ ('뇌', '뇌'),
+ ('뇨', '뇨'),
+ ('누', '누'),
+ ('눠', '눠'),
+ ('눼', '눼'),
+ ('뉘', '뉘'),
+ ('뉴', '뉴'),
+ ('느', '느'),
+ ('늬', '늬'),
+ ('니', '니'),
+ ('다', '다'),
+ ('대', '대'),
+ ('댜', '댜'),
+ ('댸', '댸'),
+ ('더', '더'),
+ ('데', '데'),
+ ('뎌', '뎌'),
+ ('뎨', '뎨'),
+ ('도', '도'),
+ ('돠', '돠'),
+ ('돼', '돼'),
+ ('되', '되'),
+ ('됴', '됴'),
+ ('두', '두'),
+ ('둬', '둬'),
+ ('뒈', '뒈'),
+ ('뒤', '뒤'),
+ ('듀', '듀'),
+ ('드', '드'),
+ ('듸', '듸'),
+ ('디', '디'),
+ ('따', '따'),
+ ('때', '때'),
+ ('땨', '땨'),
+ ('떄', '떄'),
+ ('떠', '떠'),
+ ('떼', '떼'),
+ ('뗘', '뗘'),
+ ('뗴', '뗴'),
+ ('또', '또'),
+ ('똬', '똬'),
+ ('뙈', '뙈'),
+ ('뙤', '뙤'),
+ ('뚀', '뚀'),
+ ('뚜', '뚜'),
+ ('뚸', '뚸'),
+ ('뛔', '뛔'),
+ ('뛰', '뛰'),
+ ('뜌', '뜌'),
+ ('뜨', '뜨'),
+ ('띄', '띄'),
+ ('띠', '띠'),
+ ('라', '라'),
+ ('래', '래'),
+ ('랴', '랴'),
+ ('럐', '럐'),
+ ('러', '러'),
+ ('레', '레'),
+ ('려', '려'),
+ ('례', '례'),
+ ('로', '로'),
+ ('롸', '롸'),
+ ('뢔', '뢔'),
+ ('뢰', '뢰'),
+ ('료', '료'),
+ ('루', '루'),
+ ('뤄', '뤄'),
+ ('뤠', '뤠'),
+ ('뤼', '뤼'),
+ ('류', '류'),
+ ('르', '르'),
+ ('릐', '릐'),
+ ('리', '리'),
+ ('마', '마'),
+ ('매', '매'),
+ ('먀', '먀'),
+ ('먜', '먜'),
+ ('머', '머'),
+ ('메', '메'),
+ ('며', '며'),
+ ('몌', '몌'),
+ ('모', '모'),
+ ('뫄', '뫄'),
+ ('뫠', '뫠'),
+ ('뫼', '뫼'),
+ ('묘', '묘'),
+ ('무', '무'),
+ ('뭐', '뭐'),
+ ('뭬', '뭬'),
+ ('뮈', '뮈'),
+ ('뮤', '뮤'),
+ ('므', '므'),
+ ('믜', '믜'),
+ ('미', '미'),
+ ('바', '바'),
+ ('배', '배'),
+ ('뱌', '뱌'),
+ ('뱨', '뱨'),
+ ('버', '버'),
+ ('베', '베'),
+ ('벼', '벼'),
+ ('볘', '볘'),
+ ('보', '보'),
+ ('봐', '봐'),
+ ('봬', '봬'),
+ ('뵈', '뵈'),
+ ('뵤', '뵤'),
+ ('부', '부'),
+ ('붜', '붜'),
+ ('붸', '붸'),
+ ('뷔', '뷔'),
+ ('뷰', '뷰'),
+ ('브', '브'),
+ ('븨', '븨'),
+ ('비', '비'),
+ ('빠', '빠'),
+ ('빼', '빼'),
+ ('뺘', '뺘'),
+ ('뺴', '뺴'),
+ ('뻐', '뻐'),
+ ('뻬', '뻬'),
+ ('뼈', '뼈'),
+ ('뼤', '뼤'),
+ ('뽀', '뽀'),
+ ('뽜', '뽜'),
+ ('뽸', '뽸'),
+ ('뾔', '뾔'),
+ ('뾰', '뾰'),
+ ('뿌', '뿌'),
+ ('뿨', '뿨'),
+ ('쀄', '쀄'),
+ ('쀠', '쀠'),
+ ('쀼', '쀼'),
+ ('쁘', '쁘'),
+ ('쁴', '쁴'),
+ ('삐', '삐'),
+ ('사', '사'),
+ ('새', '새'),
+ ('샤', '샤'),
+ ('섀', '섀'),
+ ('서', '서'),
+ ('세', '세'),
+ ('셔', '셔'),
+ ('셰', '셰'),
+ ('소', '소'),
+ ('솨', '솨'),
+ ('쇄', '쇄'),
+ ('쇠', '쇠'),
+ ('쇼', '쇼'),
+ ('수', '수'),
+ ('숴', '숴'),
+ ('쉐', '쉐'),
+ ('쉬', '쉬'),
+ ('슈', '슈'),
+ ('스', '스'),
+ ('싀', '싀'),
+ ('시', '시'),
+ ('싸', '싸'),
+ ('쌔', '쌔'),
+ ('쌰', '쌰'),
+ ('썌', '썌'),
+ ('써', '써'),
+ ('쎄', '쎄'),
+ ('쎠', '쎠'),
+ ('쎼', '쎼'),
+ ('쏘', '쏘'),
+ ('쏴', '쏴'),
+ ('쐐', '쐐'),
+ ('쐬', '쐬'),
+ ('쑈', '쑈'),
+ ('쑤', '쑤'),
+ ('쒀', '쒀'),
+ ('쒜', '쒜'),
+ ('쒸', '쒸'),
+ ('쓔', '쓔'),
+ ('쓰', '쓰'),
+ ('씌', '씌'),
+ ('씨', '씨'),
+ ('아', '아'),
+ ('애', '애'),
+ ('야', '야'),
+ ('얘', '얘'),
+ ('어', '어'),
+ ('에', '에'),
+ ('여', '여'),
+ ('예', '예'),
+ ('오', '오'),
+ ('와', '와'),
+ ('왜', '왜'),
+ ('외', '외'),
+ ('요', '요'),
+ ('우', '우'),
+ ('워', '워'),
+ ('웨', '웨'),
+ ('위', '위'),
+ ('유', '유'),
+ ('으', '으'),
+ ('의', '의'),
+ ('이', '이'),
+ ('자', '자'),
+ ('재', '재'),
+ ('쟈', '쟈'),
+ ('쟤', '쟤'),
+ ('저', '저'),
+ ('제', '제'),
+ ('져', '져'),
+ ('졔', '졔'),
+ ('조', '조'),
+ ('좌', '좌'),
+ ('좨', '좨'),
+ ('죄', '죄'),
+ ('죠', '죠'),
+ ('주', '주'),
+ ('줘', '줘'),
+ ('줴', '줴'),
+ ('쥐', '쥐'),
+ ('쥬', '쥬'),
+ ('즈', '즈'),
+ ('즤', '즤'),
+ ('지', '지'),
+ ('짜', '짜'),
+ ('째', '째'),
+ ('쨔', '쨔'),
+ ('쨰', '쨰'),
+ ('쩌', '쩌'),
+ ('쩨', '쩨'),
+ ('쪄', '쪄'),
+ ('쪠', '쪠'),
+ ('쪼', '쪼'),
+ ('쫘', '쫘'),
+ ('쫴', '쫴'),
+ ('쬐', '쬐'),
+ ('쬬', '쬬'),
+ ('쭈', '쭈'),
+ ('쭤', '쭤'),
+ ('쮀', '쮀'),
+ ('쮜', '쮜'),
+ ('쮸', '쮸'),
+ ('쯔', '쯔'),
+ ('쯰', '쯰'),
+ ('찌', '찌'),
+ ('차', '차'),
+ ('채', '채'),
+ ('챠', '챠'),
+ ('챼', '챼'),
+ ('처', '처'),
+ ('체', '체'),
+ ('쳐', '쳐'),
+ ('쳬', '쳬'),
+ ('초', '초'),
+ ('촤', '촤'),
+ ('쵀', '쵀'),
+ ('최', '최'),
+ ('쵸', '쵸'),
+ ('추', '추'),
+ ('춰', '춰'),
+ ('췌', '췌'),
+ ('취', '취'),
+ ('츄', '츄'),
+ ('츠', '츠'),
+ ('츼', '츼'),
+ ('치', '치'),
+ ('카', '카'),
+ ('캐', '캐'),
+ ('캬', '캬'),
+ ('컈', '컈'),
+ ('커', '커'),
+ ('케', '케'),
+ ('켜', '켜'),
+ ('켸', '켸'),
+ ('코', '코'),
+ ('콰', '콰'),
+ ('쾌', '쾌'),
+ ('쾨', '쾨'),
+ ('쿄', '쿄'),
+ ('쿠', '쿠'),
+ ('쿼', '쿼'),
+ ('퀘', '퀘'),
+ ('퀴', '퀴'),
+ ('큐', '큐'),
+ ('크', '크'),
+ ('킈', '킈'),
+ ('키', '키'),
+ ('타', '타'),
+ ('태', '태'),
+ ('탸', '탸'),
+ ('턔', '턔'),
+ ('터', '터'),
+ ('테', '테'),
+ ('텨', '텨'),
+ ('톄', '톄'),
+ ('토', '토'),
+ ('톼', '톼'),
+ ('퇘', '퇘'),
+ ('퇴', '퇴'),
+ ('툐', '툐'),
+ ('투', '투'),
+ ('퉈', '퉈'),
+ ('퉤', '퉤'),
+ ('튀', '튀'),
+ ('튜', '튜'),
+ ('트', '트'),
+ ('틔', '틔'),
+ ('티', '티'),
+ ('파', '파'),
+ ('패', '패'),
+ ('퍄', '퍄'),
+ ('퍠', '퍠'),
+ ('퍼', '퍼'),
+ ('페', '페'),
+ ('펴', '펴'),
+ ('폐', '폐'),
+ ('포', '포'),
+ ('퐈', '퐈'),
+ ('퐤', '퐤'),
+ ('푀', '푀'),
+ ('표', '표'),
+ ('푸', '푸'),
+ ('풔', '풔'),
+ ('풰', '풰'),
+ ('퓌', '퓌'),
+ ('퓨', '퓨'),
+ ('프', '프'),
+ ('픠', '픠'),
+ ('피', '피'),
+ ('하', '하'),
+ ('해', '해'),
+ ('햐', '햐'),
+ ('햬', '햬'),
+ ('허', '허'),
+ ('헤', '헤'),
+ ('혀', '혀'),
+ ('혜', '혜'),
+ ('호', '호'),
+ ('화', '화'),
+ ('홰', '홰'),
+ ('회', '회'),
+ ('효', '효'),
+ ('후', '후'),
+ ('훠', '훠'),
+ ('훼', '훼'),
+ ('휘', '휘'),
+ ('휴', '휴'),
+ ('흐', '흐'),
+ ('희', '희'),
+ ('히', '히'),
+];
+
+pub const LVT: &'static [(char, char)] = &[
+ ('각', '갛'),
+ ('객', '갷'),
+ ('갹', '걓'),
+ ('걕', '걯'),
+ ('걱', '겋'),
+ ('겍', '겧'),
+ ('격', '곃'),
+ ('곅', '곟'),
+ ('곡', '곻'),
+ ('곽', '괗'),
+ ('괙', '괳'),
+ ('괵', '굏'),
+ ('굑', '굫'),
+ ('국', '궇'),
+ ('궉', '궣'),
+ ('궥', '궿'),
+ ('귁', '귛'),
+ ('귝', '귷'),
+ ('극', '긓'),
+ ('긕', '긯'),
+ ('긱', '깋'),
+ ('깍', '깧'),
+ ('깩', '꺃'),
+ ('꺅', '꺟'),
+ ('꺡', '꺻'),
+ ('꺽', '껗'),
+ ('껙', '껳'),
+ ('껵', '꼏'),
+ ('꼑', '꼫'),
+ ('꼭', '꽇'),
+ ('꽉', '꽣'),
+ ('꽥', '꽿'),
+ ('꾁', '꾛'),
+ ('꾝', '꾷'),
+ ('꾹', '꿓'),
+ ('꿕', '꿯'),
+ ('꿱', '뀋'),
+ ('뀍', '뀧'),
+ ('뀩', '끃'),
+ ('끅', '끟'),
+ ('끡', '끻'),
+ ('끽', '낗'),
+ ('낙', '낳'),
+ ('낵', '냏'),
+ ('냑', '냫'),
+ ('냭', '넇'),
+ ('넉', '넣'),
+ ('넥', '넿'),
+ ('녁', '녛'),
+ ('녝', '녷'),
+ ('녹', '놓'),
+ ('놕', '놯'),
+ ('놱', '뇋'),
+ ('뇍', '뇧'),
+ ('뇩', '눃'),
+ ('눅', '눟'),
+ ('눡', '눻'),
+ ('눽', '뉗'),
+ ('뉙', '뉳'),
+ ('뉵', '늏'),
+ ('늑', '늫'),
+ ('늭', '닇'),
+ ('닉', '닣'),
+ ('닥', '닿'),
+ ('댁', '댛'),
+ ('댝', '댷'),
+ ('댹', '덓'),
+ ('덕', '덯'),
+ ('덱', '뎋'),
+ ('뎍', '뎧'),
+ ('뎩', '돃'),
+ ('독', '돟'),
+ ('돡', '돻'),
+ ('돽', '됗'),
+ ('됙', '됳'),
+ ('됵', '둏'),
+ ('둑', '둫'),
+ ('둭', '뒇'),
+ ('뒉', '뒣'),
+ ('뒥', '뒿'),
+ ('듁', '듛'),
+ ('득', '듷'),
+ ('듹', '딓'),
+ ('딕', '딯'),
+ ('딱', '땋'),
+ ('땍', '땧'),
+ ('땩', '떃'),
+ ('떅', '떟'),
+ ('떡', '떻'),
+ ('떽', '뗗'),
+ ('뗙', '뗳'),
+ ('뗵', '똏'),
+ ('똑', '똫'),
+ ('똭', '뙇'),
+ ('뙉', '뙣'),
+ ('뙥', '뙿'),
+ ('뚁', '뚛'),
+ ('뚝', '뚷'),
+ ('뚹', '뛓'),
+ ('뛕', '뛯'),
+ ('뛱', '뜋'),
+ ('뜍', '뜧'),
+ ('뜩', '띃'),
+ ('띅', '띟'),
+ ('띡', '띻'),
+ ('락', '랗'),
+ ('랙', '랳'),
+ ('략', '럏'),
+ ('럑', '럫'),
+ ('럭', '렇'),
+ ('렉', '렣'),
+ ('력', '렿'),
+ ('롁', '롛'),
+ ('록', '롷'),
+ ('롹', '뢓'),
+ ('뢕', '뢯'),
+ ('뢱', '룋'),
+ ('룍', '룧'),
+ ('룩', '뤃'),
+ ('뤅', '뤟'),
+ ('뤡', '뤻'),
+ ('뤽', '륗'),
+ ('륙', '륳'),
+ ('륵', '릏'),
+ ('릑', '릫'),
+ ('릭', '맇'),
+ ('막', '맣'),
+ ('맥', '맿'),
+ ('먁', '먛'),
+ ('먝', '먷'),
+ ('먹', '멓'),
+ ('멕', '멯'),
+ ('멱', '몋'),
+ ('몍', '몧'),
+ ('목', '뫃'),
+ ('뫅', '뫟'),
+ ('뫡', '뫻'),
+ ('뫽', '묗'),
+ ('묙', '묳'),
+ ('묵', '뭏'),
+ ('뭑', '뭫'),
+ ('뭭', '뮇'),
+ ('뮉', '뮣'),
+ ('뮥', '뮿'),
+ ('믁', '믛'),
+ ('믝', '믷'),
+ ('믹', '밓'),
+ ('박', '밯'),
+ ('백', '뱋'),
+ ('뱍', '뱧'),
+ ('뱩', '벃'),
+ ('벅', '벟'),
+ ('벡', '벻'),
+ ('벽', '볗'),
+ ('볙', '볳'),
+ ('복', '봏'),
+ ('봑', '봫'),
+ ('봭', '뵇'),
+ ('뵉', '뵣'),
+ ('뵥', '뵿'),
+ ('북', '붛'),
+ ('붝', '붷'),
+ ('붹', '뷓'),
+ ('뷕', '뷯'),
+ ('뷱', '븋'),
+ ('븍', '븧'),
+ ('븩', '빃'),
+ ('빅', '빟'),
+ ('빡', '빻'),
+ ('빽', '뺗'),
+ ('뺙', '뺳'),
+ ('뺵', '뻏'),
+ ('뻑', '뻫'),
+ ('뻭', '뼇'),
+ ('뼉', '뼣'),
+ ('뼥', '뼿'),
+ ('뽁', '뽛'),
+ ('뽝', '뽷'),
+ ('뽹', '뾓'),
+ ('뾕', '뾯'),
+ ('뾱', '뿋'),
+ ('뿍', '뿧'),
+ ('뿩', '쀃'),
+ ('쀅', '쀟'),
+ ('쀡', '쀻'),
+ ('쀽', '쁗'),
+ ('쁙', '쁳'),
+ ('쁵', '삏'),
+ ('삑', '삫'),
+ ('삭', '샇'),
+ ('색', '샣'),
+ ('샥', '샿'),
+ ('섁', '섛'),
+ ('석', '섷'),
+ ('섹', '셓'),
+ ('셕', '셯'),
+ ('셱', '솋'),
+ ('속', '솧'),
+ ('솩', '쇃'),
+ ('쇅', '쇟'),
+ ('쇡', '쇻'),
+ ('쇽', '숗'),
+ ('숙', '숳'),
+ ('숵', '쉏'),
+ ('쉑', '쉫'),
+ ('쉭', '슇'),
+ ('슉', '슣'),
+ ('슥', '슿'),
+ ('싁', '싛'),
+ ('식', '싷'),
+ ('싹', '쌓'),
+ ('쌕', '쌯'),
+ ('쌱', '썋'),
+ ('썍', '썧'),
+ ('썩', '쎃'),
+ ('쎅', '쎟'),
+ ('쎡', '쎻'),
+ ('쎽', '쏗'),
+ ('쏙', '쏳'),
+ ('쏵', '쐏'),
+ ('쐑', '쐫'),
+ ('쐭', '쑇'),
+ ('쑉', '쑣'),
+ ('쑥', '쑿'),
+ ('쒁', '쒛'),
+ ('쒝', '쒷'),
+ ('쒹', '쓓'),
+ ('쓕', '쓯'),
+ ('쓱', '씋'),
+ ('씍', '씧'),
+ ('씩', '앃'),
+ ('악', '앟'),
+ ('액', '앻'),
+ ('약', '얗'),
+ ('얙', '얳'),
+ ('억', '엏'),
+ ('엑', '엫'),
+ ('역', '옇'),
+ ('옉', '옣'),
+ ('옥', '옿'),
+ ('왁', '왛'),
+ ('왝', '왷'),
+ ('왹', '욓'),
+ ('욕', '욯'),
+ ('욱', '웋'),
+ ('웍', '웧'),
+ ('웩', '윃'),
+ ('윅', '윟'),
+ ('육', '윻'),
+ ('윽', '읗'),
+ ('읙', '읳'),
+ ('익', '잏'),
+ ('작', '잫'),
+ ('잭', '쟇'),
+ ('쟉', '쟣'),
+ ('쟥', '쟿'),
+ ('적', '젛'),
+ ('젝', '젷'),
+ ('젹', '졓'),
+ ('졕', '졯'),
+ ('족', '좋'),
+ ('좍', '좧'),
+ ('좩', '죃'),
+ ('죅', '죟'),
+ ('죡', '죻'),
+ ('죽', '줗'),
+ ('줙', '줳'),
+ ('줵', '쥏'),
+ ('쥑', '쥫'),
+ ('쥭', '즇'),
+ ('즉', '즣'),
+ ('즥', '즿'),
+ ('직', '짛'),
+ ('짝', '짷'),
+ ('짹', '쨓'),
+ ('쨕', '쨯'),
+ ('쨱', '쩋'),
+ ('쩍', '쩧'),
+ ('쩩', '쪃'),
+ ('쪅', '쪟'),
+ ('쪡', '쪻'),
+ ('쪽', '쫗'),
+ ('쫙', '쫳'),
+ ('쫵', '쬏'),
+ ('쬑', '쬫'),
+ ('쬭', '쭇'),
+ ('쭉', '쭣'),
+ ('쭥', '쭿'),
+ ('쮁', '쮛'),
+ ('쮝', '쮷'),
+ ('쮹', '쯓'),
+ ('쯕', '쯯'),
+ ('쯱', '찋'),
+ ('찍', '찧'),
+ ('착', '챃'),
+ ('책', '챟'),
+ ('챡', '챻'),
+ ('챽', '첗'),
+ ('척', '첳'),
+ ('첵', '쳏'),
+ ('쳑', '쳫'),
+ ('쳭', '촇'),
+ ('촉', '촣'),
+ ('촥', '촿'),
+ ('쵁', '쵛'),
+ ('쵝', '쵷'),
+ ('쵹', '춓'),
+ ('축', '춯'),
+ ('춱', '췋'),
+ ('췍', '췧'),
+ ('췩', '츃'),
+ ('츅', '츟'),
+ ('측', '츻'),
+ ('츽', '칗'),
+ ('칙', '칳'),
+ ('칵', '캏'),
+ ('캑', '캫'),
+ ('캭', '컇'),
+ ('컉', '컣'),
+ ('컥', '컿'),
+ ('켁', '켛'),
+ ('켝', '켷'),
+ ('켹', '콓'),
+ ('콕', '콯'),
+ ('콱', '쾋'),
+ ('쾍', '쾧'),
+ ('쾩', '쿃'),
+ ('쿅', '쿟'),
+ ('쿡', '쿻'),
+ ('쿽', '퀗'),
+ ('퀙', '퀳'),
+ ('퀵', '큏'),
+ ('큑', '큫'),
+ ('큭', '킇'),
+ ('킉', '킣'),
+ ('킥', '킿'),
+ ('탁', '탛'),
+ ('택', '탷'),
+ ('탹', '턓'),
+ ('턕', '턯'),
+ ('턱', '텋'),
+ ('텍', '텧'),
+ ('텩', '톃'),
+ ('톅', '톟'),
+ ('톡', '톻'),
+ ('톽', '퇗'),
+ ('퇙', '퇳'),
+ ('퇵', '툏'),
+ ('툑', '툫'),
+ ('툭', '퉇'),
+ ('퉉', '퉣'),
+ ('퉥', '퉿'),
+ ('튁', '튛'),
+ ('튝', '튷'),
+ ('특', '틓'),
+ ('틕', '틯'),
+ ('틱', '팋'),
+ ('팍', '팧'),
+ ('팩', '퍃'),
+ ('퍅', '퍟'),
+ ('퍡', '퍻'),
+ ('퍽', '펗'),
+ ('펙', '펳'),
+ ('펵', '폏'),
+ ('폑', '폫'),
+ ('폭', '퐇'),
+ ('퐉', '퐣'),
+ ('퐥', '퐿'),
+ ('푁', '푛'),
+ ('푝', '푷'),
+ ('푹', '풓'),
+ ('풕', '풯'),
+ ('풱', '퓋'),
+ ('퓍', '퓧'),
+ ('퓩', '픃'),
+ ('픅', '픟'),
+ ('픡', '픻'),
+ ('픽', '핗'),
+ ('학', '핳'),
+ ('핵', '햏'),
+ ('햑', '햫'),
+ ('햭', '헇'),
+ ('헉', '헣'),
+ ('헥', '헿'),
+ ('혁', '혛'),
+ ('혝', '혷'),
+ ('혹', '홓'),
+ ('확', '홯'),
+ ('홱', '횋'),
+ ('획', '횧'),
+ ('횩', '훃'),
+ ('훅', '훟'),
+ ('훡', '훻'),
+ ('훽', '휗'),
+ ('휙', '휳'),
+ ('휵', '흏'),
+ ('흑', '흫'),
+ ('흭', '힇'),
+ ('힉', '힣'),
+];
+
+pub const PREPEND: &'static [(char, char)] = &[
+ ('\u{600}', '\u{605}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{70f}', '\u{70f}'),
+ ('\u{890}', '\u{891}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('ൎ', 'ൎ'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110cd}', '\u{110cd}'),
+ ('𑇂', '𑇃'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑨺', '𑨺'),
+ ('𑪄', '𑪉'),
+ ('𑵆', '𑵆'),
+ ('𑼂', '𑼂'),
+];
+
+pub const REGIONAL_INDICATOR: &'static [(char, char)] = &[('🇦', '🇿')];
+
+pub const SPACINGMARK: &'static [(char, char)] = &[
+ ('ः', 'ः'),
+ ('ऻ', 'ऻ'),
+ ('ा', 'ी'),
+ ('ॉ', 'ौ'),
+ ('ॎ', 'ॏ'),
+ ('ং', 'ঃ'),
+ ('ি', 'ী'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৌ'),
+ ('ਃ', 'ਃ'),
+ ('ਾ', 'ੀ'),
+ ('ઃ', 'ઃ'),
+ ('ા', 'ી'),
+ ('ૉ', 'ૉ'),
+ ('ો', 'ૌ'),
+ ('ଂ', 'ଃ'),
+ ('ୀ', 'ୀ'),
+ ('େ', 'ୈ'),
+ ('ୋ', 'ୌ'),
+ ('ி', 'ி'),
+ ('ு', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', 'ௌ'),
+ ('ఁ', 'ః'),
+ ('ు', 'ౄ'),
+ ('ಂ', 'ಃ'),
+ ('ಾ', 'ಾ'),
+ ('ೀ', 'ು'),
+ ('ೃ', 'ೄ'),
+ ('ೇ', 'ೈ'),
+ ('ೊ', 'ೋ'),
+ ('ೳ', 'ೳ'),
+ ('ം', 'ഃ'),
+ ('ി', 'ീ'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൌ'),
+ ('ං', 'ඃ'),
+ ('ැ', 'ෑ'),
+ ('ෘ', 'ෞ'),
+ ('ෲ', 'ෳ'),
+ ('ำ', 'ำ'),
+ ('ຳ', 'ຳ'),
+ ('༾', '༿'),
+ ('ཿ', 'ཿ'),
+ ('ေ', 'ေ'),
+ ('ျ', 'ြ'),
+ ('ၖ', 'ၗ'),
+ ('ႄ', 'ႄ'),
+ ('᜕', '᜕'),
+ ('᜴', '᜴'),
+ ('ា', 'ា'),
+ ('ើ', 'ៅ'),
+ ('ះ', 'ៈ'),
+ ('ᤣ', 'ᤦ'),
+ ('ᤩ', 'ᤫ'),
+ ('ᤰ', 'ᤱ'),
+ ('ᤳ', 'ᤸ'),
+ ('ᨙ', 'ᨚ'),
+ ('ᩕ', 'ᩕ'),
+ ('ᩗ', 'ᩗ'),
+ ('ᩭ', 'ᩲ'),
+ ('ᬄ', 'ᬄ'),
+ ('ᬻ', 'ᬻ'),
+ ('ᬽ', 'ᭁ'),
+ ('ᭃ', '᭄'),
+ ('ᮂ', 'ᮂ'),
+ ('ᮡ', 'ᮡ'),
+ ('ᮦ', 'ᮧ'),
+ ('᮪', '᮪'),
+ ('ᯧ', 'ᯧ'),
+ ('ᯪ', 'ᯬ'),
+ ('ᯮ', 'ᯮ'),
+ ('᯲', '᯳'),
+ ('ᰤ', 'ᰫ'),
+ ('ᰴ', 'ᰵ'),
+ ('᳡', '᳡'),
+ ('᳷', '᳷'),
+ ('ꠣ', 'ꠤ'),
+ ('ꠧ', 'ꠧ'),
+ ('ꢀ', 'ꢁ'),
+ ('ꢴ', 'ꣃ'),
+ ('ꥒ', '꥓'),
+ ('ꦃ', 'ꦃ'),
+ ('ꦴ', 'ꦵ'),
+ ('ꦺ', 'ꦻ'),
+ ('ꦾ', '꧀'),
+ ('ꨯ', 'ꨰ'),
+ ('ꨳ', 'ꨴ'),
+ ('ꩍ', 'ꩍ'),
+ ('ꫫ', 'ꫫ'),
+ ('ꫮ', 'ꫯ'),
+ ('ꫵ', 'ꫵ'),
+ ('ꯣ', 'ꯤ'),
+ ('ꯦ', 'ꯧ'),
+ ('ꯩ', 'ꯪ'),
+ ('꯬', '꯬'),
+ ('𑀀', '𑀀'),
+ ('𑀂', '𑀂'),
+ ('𑂂', '𑂂'),
+ ('𑂰', '𑂲'),
+ ('𑂷', '𑂸'),
+ ('𑄬', '𑄬'),
+ ('𑅅', '𑅆'),
+ ('𑆂', '𑆂'),
+ ('𑆳', '𑆵'),
+ ('𑆿', '𑇀'),
+ ('𑇎', '𑇎'),
+ ('𑈬', '𑈮'),
+ ('𑈲', '𑈳'),
+ ('𑈵', '𑈵'),
+ ('𑋠', '𑋢'),
+ ('𑌂', '𑌃'),
+ ('𑌿', '𑌿'),
+ ('𑍁', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍢', '𑍣'),
+ ('𑐵', '𑐷'),
+ ('𑑀', '𑑁'),
+ ('𑑅', '𑑅'),
+ ('𑒱', '𑒲'),
+ ('𑒹', '𑒹'),
+ ('𑒻', '𑒼'),
+ ('𑒾', '𑒾'),
+ ('𑓁', '𑓁'),
+ ('𑖰', '𑖱'),
+ ('𑖸', '𑖻'),
+ ('𑖾', '𑖾'),
+ ('𑘰', '𑘲'),
+ ('𑘻', '𑘼'),
+ ('𑘾', '𑘾'),
+ ('𑚬', '𑚬'),
+ ('𑚮', '𑚯'),
+ ('𑚶', '𑚶'),
+ ('𑜦', '𑜦'),
+ ('𑠬', '𑠮'),
+ ('𑠸', '𑠸'),
+ ('𑤱', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('𑤽', '𑤽'),
+ ('𑥀', '𑥀'),
+ ('𑥂', '𑥂'),
+ ('𑧑', '𑧓'),
+ ('𑧜', '𑧟'),
+ ('𑧤', '𑧤'),
+ ('𑨹', '𑨹'),
+ ('𑩗', '𑩘'),
+ ('𑪗', '𑪗'),
+ ('𑰯', '𑰯'),
+ ('𑰾', '𑰾'),
+ ('𑲩', '𑲩'),
+ ('𑲱', '𑲱'),
+ ('𑲴', '𑲴'),
+ ('𑶊', '𑶎'),
+ ('𑶓', '𑶔'),
+ ('𑶖', '𑶖'),
+ ('𑻵', '𑻶'),
+ ('𑼃', '𑼃'),
+ ('𑼴', '𑼵'),
+ ('𑼾', '𑼿'),
+ ('𑽁', '𑽁'),
+ ('𖽑', '𖾇'),
+ ('𖿰', '𖿱'),
+ ('𝅦', '𝅦'),
+ ('𝅭', '𝅭'),
+];
+
+pub const T: &'static [(char, char)] = &[('ᆨ', 'ᇿ'), ('ퟋ', 'ퟻ')];
+
+pub const V: &'static [(char, char)] = &[('ᅠ', 'ᆧ'), ('ힰ', 'ퟆ')];
+
+pub const ZWJ: &'static [(char, char)] = &[('\u{200d}', '\u{200d}')];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/mod.rs b/third_party/rust/regex-syntax/src/unicode_tables/mod.rs
new file mode 100644
index 0000000000..20736c7ac8
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/mod.rs
@@ -0,0 +1,57 @@
+#[cfg(feature = "unicode-age")]
+pub mod age;
+
+#[cfg(feature = "unicode-case")]
+pub mod case_folding_simple;
+
+#[cfg(feature = "unicode-gencat")]
+pub mod general_category;
+
+#[cfg(feature = "unicode-segment")]
+pub mod grapheme_cluster_break;
+
+#[cfg(all(feature = "unicode-perl", not(feature = "unicode-gencat")))]
+#[allow(dead_code)]
+pub mod perl_decimal;
+
+#[cfg(all(feature = "unicode-perl", not(feature = "unicode-bool")))]
+#[allow(dead_code)]
+pub mod perl_space;
+
+#[cfg(feature = "unicode-perl")]
+pub mod perl_word;
+
+#[cfg(feature = "unicode-bool")]
+pub mod property_bool;
+
+#[cfg(any(
+ feature = "unicode-age",
+ feature = "unicode-bool",
+ feature = "unicode-gencat",
+ feature = "unicode-perl",
+ feature = "unicode-script",
+ feature = "unicode-segment",
+))]
+pub mod property_names;
+
+#[cfg(any(
+ feature = "unicode-age",
+ feature = "unicode-bool",
+ feature = "unicode-gencat",
+ feature = "unicode-perl",
+ feature = "unicode-script",
+ feature = "unicode-segment",
+))]
+pub mod property_values;
+
+#[cfg(feature = "unicode-script")]
+pub mod script;
+
+#[cfg(feature = "unicode-script")]
+pub mod script_extension;
+
+#[cfg(feature = "unicode-segment")]
+pub mod sentence_break;
+
+#[cfg(feature = "unicode-segment")]
+pub mod word_break;
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/perl_decimal.rs b/third_party/rust/regex-syntax/src/unicode_tables/perl_decimal.rs
new file mode 100644
index 0000000000..4f4c08a128
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/perl_decimal.rs
@@ -0,0 +1,77 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate general-category ucd-15.0.0 --chars --include decimalnumber
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] =
+ &[("Decimal_Number", DECIMAL_NUMBER)];
+
+pub const DECIMAL_NUMBER: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('٠', '٩'),
+ ('۰', '۹'),
+ ('߀', '߉'),
+ ('०', '९'),
+ ('০', '৯'),
+ ('੦', '੯'),
+ ('૦', '૯'),
+ ('୦', '୯'),
+ ('௦', '௯'),
+ ('౦', '౯'),
+ ('೦', '೯'),
+ ('൦', '൯'),
+ ('෦', '෯'),
+ ('๐', '๙'),
+ ('໐', '໙'),
+ ('༠', '༩'),
+ ('၀', '၉'),
+ ('႐', '႙'),
+ ('០', '៩'),
+ ('᠐', '᠙'),
+ ('᥆', '᥏'),
+ ('᧐', '᧙'),
+ ('᪀', '᪉'),
+ ('᪐', '᪙'),
+ ('᭐', '᭙'),
+ ('᮰', '᮹'),
+ ('᱀', '᱉'),
+ ('᱐', '᱙'),
+ ('꘠', '꘩'),
+ ('꣐', '꣙'),
+ ('꤀', '꤉'),
+ ('꧐', '꧙'),
+ ('꧰', '꧹'),
+ ('꩐', '꩙'),
+ ('꯰', '꯹'),
+ ('0', '9'),
+ ('𐒠', '𐒩'),
+ ('𐴰', '𐴹'),
+ ('𑁦', '𑁯'),
+ ('𑃰', '𑃹'),
+ ('𑄶', '𑄿'),
+ ('𑇐', '𑇙'),
+ ('𑋰', '𑋹'),
+ ('𑑐', '𑑙'),
+ ('𑓐', '𑓙'),
+ ('𑙐', '𑙙'),
+ ('𑛀', '𑛉'),
+ ('𑜰', '𑜹'),
+ ('𑣠', '𑣩'),
+ ('𑥐', '𑥙'),
+ ('𑱐', '𑱙'),
+ ('𑵐', '𑵙'),
+ ('𑶠', '𑶩'),
+ ('𑽐', '𑽙'),
+ ('𖩠', '𖩩'),
+ ('𖫀', '𖫉'),
+ ('𖭐', '𖭙'),
+ ('𝟎', '𝟿'),
+ ('𞅀', '𞅉'),
+ ('𞋰', '𞋹'),
+ ('𞓰', '𞓹'),
+ ('𞥐', '𞥙'),
+ ('🯰', '🯹'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/perl_space.rs b/third_party/rust/regex-syntax/src/unicode_tables/perl_space.rs
new file mode 100644
index 0000000000..1741695795
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/perl_space.rs
@@ -0,0 +1,23 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate property-bool ucd-15.0.0 --chars --include whitespace
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] =
+ &[("White_Space", WHITE_SPACE)];
+
+pub const WHITE_SPACE: &'static [(char, char)] = &[
+ ('\t', '\r'),
+ (' ', ' '),
+ ('\u{85}', '\u{85}'),
+ ('\u{a0}', '\u{a0}'),
+ ('\u{1680}', '\u{1680}'),
+ ('\u{2000}', '\u{200a}'),
+ ('\u{2028}', '\u{2029}'),
+ ('\u{202f}', '\u{202f}'),
+ ('\u{205f}', '\u{205f}'),
+ ('\u{3000}', '\u{3000}'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/perl_word.rs b/third_party/rust/regex-syntax/src/unicode_tables/perl_word.rs
new file mode 100644
index 0000000000..c1b66bd9ab
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/perl_word.rs
@@ -0,0 +1,781 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate perl-word ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const PERL_WORD: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('A', 'Z'),
+ ('_', '_'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('\u{300}', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('\u{483}', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('\u{610}', '\u{61a}'),
+ ('ؠ', '٩'),
+ ('ٮ', 'ۓ'),
+ ('ە', '\u{6dc}'),
+ ('\u{6df}', '\u{6e8}'),
+ ('\u{6ea}', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', '\u{74a}'),
+ ('ݍ', 'ޱ'),
+ ('߀', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('ࠀ', '\u{82d}'),
+ ('ࡀ', '\u{85b}'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('\u{898}', '\u{8e1}'),
+ ('\u{8e3}', '\u{963}'),
+ ('०', '९'),
+ ('ॱ', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('\u{9bc}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৎ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('০', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('\u{abc}', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', '\u{ae3}'),
+ ('૦', '૯'),
+ ('ૹ', '\u{aff}'),
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('\u{b3c}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', '\u{b63}'),
+ ('୦', '୯'),
+ ('ୱ', 'ୱ'),
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('ௐ', 'ௐ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('௦', '௯'),
+ ('\u{c00}', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('\u{c3c}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', '\u{c63}'),
+ ('౦', '౯'),
+ ('ಀ', 'ಃ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('\u{cbc}', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', '\u{ce3}'),
+ ('೦', '೯'),
+ ('ೱ', 'ೳ'),
+ ('\u{d00}', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൎ'),
+ ('ൔ', '\u{d57}'),
+ ('ൟ', '\u{d63}'),
+ ('൦', '൯'),
+ ('ൺ', 'ൿ'),
+ ('\u{d81}', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('෦', '෯'),
+ ('ෲ', 'ෳ'),
+ ('ก', '\u{e3a}'),
+ ('เ', '\u{e4e}'),
+ ('๐', '๙'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ece}'),
+ ('໐', '໙'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('\u{f18}', '\u{f19}'),
+ ('༠', '༩'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('\u{f71}', '\u{f84}'),
+ ('\u{f86}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('က', '၉'),
+ ('ၐ', '\u{109d}'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('\u{135d}', '\u{135f}'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', '᜕'),
+ ('ᜟ', '᜴'),
+ ('ᝀ', '\u{1753}'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('\u{1772}', '\u{1773}'),
+ ('ក', '\u{17d3}'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', '\u{17dd}'),
+ ('០', '៩'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '᠙'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('᥆', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('᧐', '᧙'),
+ ('ᨀ', '\u{1a1b}'),
+ ('ᨠ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '᪉'),
+ ('᪐', '᪙'),
+ ('ᪧ', 'ᪧ'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', 'ᭌ'),
+ ('᭐', '᭙'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '᯳'),
+ ('ᰀ', '\u{1c37}'),
+ ('᱀', '᱉'),
+ ('ᱍ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', 'ᳺ'),
+ ('ᴀ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('\u{200c}', '\u{200d}'),
+ ('‿', '⁀'),
+ ('⁔', '⁔'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℯ', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⓐ', 'ⓩ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('\u{2d7f}', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '〇'),
+ ('〡', '\u{302f}'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('\u{3099}', '\u{309a}'),
+ ('ゝ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘫ'),
+ ('Ꙁ', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('ꙿ', '\u{a6f1}'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠧ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢀ', '\u{a8c5}'),
+ ('꣐', '꣙'),
+ ('\u{a8e0}', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', '\u{a92d}'),
+ ('ꤰ', '꥓'),
+ ('ꥠ', 'ꥼ'),
+ ('\u{a980}', '꧀'),
+ ('ꧏ', '꧙'),
+ ('ꧠ', 'ꧾ'),
+ ('ꨀ', '\u{aa36}'),
+ ('ꩀ', 'ꩍ'),
+ ('꩐', '꩙'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫯ'),
+ ('ꫲ', '\u{aaf6}'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯪ'),
+ ('꯬', '\u{abed}'),
+ ('꯰', '꯹'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('︳', '︴'),
+ ('﹍', '﹏'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('0', '9'),
+ ('A', 'Z'),
+ ('_', '_'),
+ ('a', 'z'),
+ ('ヲ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '\u{1037a}'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒠', '𐒩'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '\u{10ae6}'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '\u{10d27}'),
+ ('𐴰', '𐴹'),
+ ('𐺀', '𐺩'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('𐺰', '𐺱'),
+ ('\u{10efd}', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '\u{10f50}'),
+ ('𐽰', '\u{10f85}'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀀', '\u{11046}'),
+ ('𑁦', '𑁵'),
+ ('\u{1107f}', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('𑃐', '𑃨'),
+ ('𑃰', '𑃹'),
+ ('\u{11100}', '\u{11134}'),
+ ('𑄶', '𑄿'),
+ ('𑅄', '𑅇'),
+ ('𑅐', '\u{11173}'),
+ ('𑅶', '𑅶'),
+ ('\u{11180}', '𑇄'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇎', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '\u{11237}'),
+ ('\u{1123e}', '\u{11241}'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '\u{112ea}'),
+ ('𑋰', '𑋹'),
+ ('\u{11300}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('\u{1133b}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍐', '𑍐'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑐀', '𑑊'),
+ ('𑑐', '𑑙'),
+ ('\u{1145e}', '𑑡'),
+ ('𑒀', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑓐', '𑓙'),
+ ('𑖀', '\u{115b5}'),
+ ('𑖸', '\u{115c0}'),
+ ('𑗘', '\u{115dd}'),
+ ('𑘀', '\u{11640}'),
+ ('𑙄', '𑙄'),
+ ('𑙐', '𑙙'),
+ ('𑚀', '𑚸'),
+ ('𑛀', '𑛉'),
+ ('𑜀', '𑜚'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑜰', '𑜹'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '\u{1183a}'),
+ ('𑢠', '𑣩'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{11943}'),
+ ('𑥐', '𑥙'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '\u{119d7}'),
+ ('\u{119da}', '𑧡'),
+ ('𑧣', '𑧤'),
+ ('𑨀', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('𑩐', '\u{11a99}'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '\u{11c36}'),
+ ('\u{11c38}', '𑱀'),
+ ('𑱐', '𑱙'),
+ ('𑱲', '𑲏'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d47}'),
+ ('𑵐', '𑵙'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶘'),
+ ('𑶠', '𑶩'),
+ ('𑻠', '𑻶'),
+ ('\u{11f00}', '𑼐'),
+ ('𑼒', '\u{11f3a}'),
+ ('𑼾', '\u{11f42}'),
+ ('𑽐', '𑽙'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('\u{13440}', '\u{13455}'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩠', '𖩩'),
+ ('𖩰', '𖪾'),
+ ('𖫀', '𖫉'),
+ ('𖫐', '𖫭'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('𖬀', '\u{16b36}'),
+ ('𖭀', '𖭃'),
+ ('𖭐', '𖭙'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('\u{16f4f}', '𖾇'),
+ ('\u{16f8f}', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('𞄀', '𞄬'),
+ ('\u{1e130}', '𞄽'),
+ ('𞅀', '𞅉'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '\u{1e2ae}'),
+ ('𞋀', '𞋹'),
+ ('𞓐', '𞓹'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('𞤀', '𞥋'),
+ ('𞥐', '𞥙'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+ ('🯰', '🯹'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/property_bool.rs b/third_party/rust/regex-syntax/src/unicode_tables/property_bool.rs
new file mode 100644
index 0000000000..a3e84b519c
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/property_bool.rs
@@ -0,0 +1,11367 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate property-bool ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("ASCII_Hex_Digit", ASCII_HEX_DIGIT),
+ ("Alphabetic", ALPHABETIC),
+ ("Bidi_Control", BIDI_CONTROL),
+ ("Bidi_Mirrored", BIDI_MIRRORED),
+ ("Case_Ignorable", CASE_IGNORABLE),
+ ("Cased", CASED),
+ ("Changes_When_Casefolded", CHANGES_WHEN_CASEFOLDED),
+ ("Changes_When_Casemapped", CHANGES_WHEN_CASEMAPPED),
+ ("Changes_When_Lowercased", CHANGES_WHEN_LOWERCASED),
+ ("Changes_When_Titlecased", CHANGES_WHEN_TITLECASED),
+ ("Changes_When_Uppercased", CHANGES_WHEN_UPPERCASED),
+ ("Dash", DASH),
+ ("Default_Ignorable_Code_Point", DEFAULT_IGNORABLE_CODE_POINT),
+ ("Deprecated", DEPRECATED),
+ ("Diacritic", DIACRITIC),
+ ("Emoji", EMOJI),
+ ("Emoji_Component", EMOJI_COMPONENT),
+ ("Emoji_Modifier", EMOJI_MODIFIER),
+ ("Emoji_Modifier_Base", EMOJI_MODIFIER_BASE),
+ ("Emoji_Presentation", EMOJI_PRESENTATION),
+ ("Extended_Pictographic", EXTENDED_PICTOGRAPHIC),
+ ("Extender", EXTENDER),
+ ("Grapheme_Base", GRAPHEME_BASE),
+ ("Grapheme_Extend", GRAPHEME_EXTEND),
+ ("Grapheme_Link", GRAPHEME_LINK),
+ ("Hex_Digit", HEX_DIGIT),
+ ("Hyphen", HYPHEN),
+ ("IDS_Binary_Operator", IDS_BINARY_OPERATOR),
+ ("IDS_Trinary_Operator", IDS_TRINARY_OPERATOR),
+ ("ID_Continue", ID_CONTINUE),
+ ("ID_Start", ID_START),
+ ("Ideographic", IDEOGRAPHIC),
+ ("Join_Control", JOIN_CONTROL),
+ ("Logical_Order_Exception", LOGICAL_ORDER_EXCEPTION),
+ ("Lowercase", LOWERCASE),
+ ("Math", MATH),
+ ("Noncharacter_Code_Point", NONCHARACTER_CODE_POINT),
+ ("Other_Alphabetic", OTHER_ALPHABETIC),
+ ("Other_Default_Ignorable_Code_Point", OTHER_DEFAULT_IGNORABLE_CODE_POINT),
+ ("Other_Grapheme_Extend", OTHER_GRAPHEME_EXTEND),
+ ("Other_ID_Continue", OTHER_ID_CONTINUE),
+ ("Other_ID_Start", OTHER_ID_START),
+ ("Other_Lowercase", OTHER_LOWERCASE),
+ ("Other_Math", OTHER_MATH),
+ ("Other_Uppercase", OTHER_UPPERCASE),
+ ("Pattern_Syntax", PATTERN_SYNTAX),
+ ("Pattern_White_Space", PATTERN_WHITE_SPACE),
+ ("Prepended_Concatenation_Mark", PREPENDED_CONCATENATION_MARK),
+ ("Quotation_Mark", QUOTATION_MARK),
+ ("Radical", RADICAL),
+ ("Regional_Indicator", REGIONAL_INDICATOR),
+ ("Sentence_Terminal", SENTENCE_TERMINAL),
+ ("Soft_Dotted", SOFT_DOTTED),
+ ("Terminal_Punctuation", TERMINAL_PUNCTUATION),
+ ("Unified_Ideograph", UNIFIED_IDEOGRAPH),
+ ("Uppercase", UPPERCASE),
+ ("Variation_Selector", VARIATION_SELECTOR),
+ ("White_Space", WHITE_SPACE),
+ ("XID_Continue", XID_CONTINUE),
+ ("XID_Start", XID_START),
+];
+
+pub const ASCII_HEX_DIGIT: &'static [(char, char)] =
+ &[('0', '9'), ('A', 'F'), ('a', 'f')];
+
+pub const ALPHABETIC: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('\u{345}', '\u{345}'),
+ ('Ͱ', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('\u{5b0}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('\u{610}', '\u{61a}'),
+ ('ؠ', '\u{657}'),
+ ('\u{659}', '\u{65f}'),
+ ('ٮ', 'ۓ'),
+ ('ە', '\u{6dc}'),
+ ('\u{6e1}', '\u{6e8}'),
+ ('\u{6ed}', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', '\u{73f}'),
+ ('ݍ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠀ', '\u{817}'),
+ ('ࠚ', '\u{82c}'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('\u{8d4}', '\u{8df}'),
+ ('\u{8e3}', '\u{8e9}'),
+ ('\u{8f0}', 'ऻ'),
+ ('ऽ', 'ौ'),
+ ('ॎ', 'ॐ'),
+ ('\u{955}', '\u{963}'),
+ ('ॱ', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৌ'),
+ ('ৎ', 'ৎ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('\u{a01}', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4c}'),
+ ('\u{a51}', '\u{a51}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('\u{a70}', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', 'ૌ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', '\u{ae3}'),
+ ('ૹ', '\u{afc}'),
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', 'ୌ'),
+ ('\u{b56}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', '\u{b63}'),
+ ('ୱ', 'ୱ'),
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', 'ௌ'),
+ ('ௐ', 'ௐ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4c}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', '\u{c63}'),
+ ('ಀ', 'ಃ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccc}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', '\u{ce3}'),
+ ('ೱ', 'ೳ'),
+ ('\u{d00}', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൌ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', '\u{d57}'),
+ ('ൟ', '\u{d63}'),
+ ('ൺ', 'ൿ'),
+ ('\u{d81}', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', 'ෳ'),
+ ('ก', '\u{e3a}'),
+ ('เ', 'ๆ'),
+ ('\u{e4d}', '\u{e4d}'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', '\u{eb9}'),
+ ('\u{ebb}', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ecd}', '\u{ecd}'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('\u{f71}', '\u{f83}'),
+ ('ྈ', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('က', '\u{1036}'),
+ ('း', 'း'),
+ ('ျ', 'ဿ'),
+ ('ၐ', 'ႏ'),
+ ('ႚ', '\u{109d}'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', '\u{1713}'),
+ ('ᜟ', '\u{1733}'),
+ ('ᝀ', '\u{1753}'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('\u{1772}', '\u{1773}'),
+ ('ក', 'ឳ'),
+ ('ា', 'ៈ'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', 'ៜ'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', 'ᤸ'),
+ ('ᥐ', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('ᨀ', '\u{1a1b}'),
+ ('ᨠ', '\u{1a5e}'),
+ ('ᩡ', '\u{1a74}'),
+ ('ᪧ', 'ᪧ'),
+ ('\u{1abf}', '\u{1ac0}'),
+ ('\u{1acc}', '\u{1ace}'),
+ ('\u{1b00}', 'ᬳ'),
+ ('\u{1b35}', 'ᭃ'),
+ ('ᭅ', 'ᭌ'),
+ ('\u{1b80}', '\u{1ba9}'),
+ ('\u{1bac}', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᯧ', '\u{1bf1}'),
+ ('ᰀ', '\u{1c36}'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ᴀ', 'ᶿ'),
+ ('\u{1de7}', '\u{1df4}'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℯ', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⓐ', 'ⓩ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '〇'),
+ ('〡', '〩'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('ゝ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('Ꙁ', 'ꙮ'),
+ ('\u{a674}', '\u{a67b}'),
+ ('ꙿ', 'ꛯ'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠅ'),
+ ('ꠇ', 'ꠧ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢀ', 'ꣃ'),
+ ('\u{a8c5}', '\u{a8c5}'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', '\u{a8ff}'),
+ ('ꤊ', '\u{a92a}'),
+ ('ꤰ', 'ꥒ'),
+ ('ꥠ', 'ꥼ'),
+ ('\u{a980}', 'ꦲ'),
+ ('ꦴ', 'ꦿ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧠ', 'ꧯ'),
+ ('ꧺ', 'ꧾ'),
+ ('ꨀ', '\u{aa36}'),
+ ('ꩀ', 'ꩍ'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', '\u{aabe}'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫯ'),
+ ('ꫲ', 'ꫵ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯪ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ヲ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '\u{1037a}'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '\u{10d27}'),
+ ('𐺀', '𐺩'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀀', '\u{11045}'),
+ ('𑁱', '𑁵'),
+ ('\u{11080}', '𑂸'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('𑃐', '𑃨'),
+ ('\u{11100}', '\u{11132}'),
+ ('𑅄', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('\u{11180}', '𑆿'),
+ ('𑇁', '𑇄'),
+ ('𑇎', '\u{111cf}'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '\u{11234}'),
+ ('\u{11237}', '\u{11237}'),
+ ('\u{1123e}', '\u{11241}'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '\u{112e8}'),
+ ('\u{11300}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍌'),
+ ('𑍐', '𑍐'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('𑐀', '𑑁'),
+ ('\u{11443}', '𑑅'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑓁'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '\u{115b5}'),
+ ('𑖸', '𑖾'),
+ ('𑗘', '\u{115dd}'),
+ ('𑘀', '𑘾'),
+ ('\u{11640}', '\u{11640}'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '\u{116b5}'),
+ ('𑚸', '𑚸'),
+ ('𑜀', '𑜚'),
+ ('\u{1171d}', '\u{1172a}'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '𑠸'),
+ ('𑢠', '𑣟'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{1193c}'),
+ ('𑤿', '𑥂'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '\u{119d7}'),
+ ('\u{119da}', '𑧟'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧤'),
+ ('𑨀', '𑨲'),
+ ('\u{11a35}', '\u{11a3e}'),
+ ('𑩐', '𑪗'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '\u{11c36}'),
+ ('\u{11c38}', '𑰾'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d41}'),
+ ('\u{11d43}', '\u{11d43}'),
+ ('𑵆', '\u{11d47}'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶖'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻶'),
+ ('\u{11f00}', '𑼐'),
+ ('𑼒', '\u{11f3a}'),
+ ('𑼾', '\u{11f40}'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭀', '𖭃'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('\u{16f4f}', '𖾇'),
+ ('\u{16f8f}', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𖿰', '𖿱'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('\u{1bc9e}', '\u{1bc9e}'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓫'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞤀', '𞥃'),
+ ('\u{1e947}', '\u{1e947}'),
+ ('𞥋', '𞥋'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const BIDI_CONTROL: &'static [(char, char)] = &[
+ ('\u{61c}', '\u{61c}'),
+ ('\u{200e}', '\u{200f}'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2066}', '\u{2069}'),
+];
+
+pub const BIDI_MIRRORED: &'static [(char, char)] = &[
+ ('(', ')'),
+ ('<', '<'),
+ ('>', '>'),
+ ('[', '['),
+ (']', ']'),
+ ('{', '{'),
+ ('}', '}'),
+ ('«', '«'),
+ ('»', '»'),
+ ('༺', '༽'),
+ ('᚛', '᚜'),
+ ('‹', '›'),
+ ('⁅', '⁆'),
+ ('⁽', '⁾'),
+ ('₍', '₎'),
+ ('⅀', '⅀'),
+ ('∁', '∄'),
+ ('∈', '∍'),
+ ('∑', '∑'),
+ ('∕', '∖'),
+ ('√', '∝'),
+ ('∟', '∢'),
+ ('∤', '∤'),
+ ('∦', '∦'),
+ ('∫', '∳'),
+ ('∹', '∹'),
+ ('∻', '≌'),
+ ('≒', '≕'),
+ ('≟', '≠'),
+ ('≢', '≢'),
+ ('≤', '≫'),
+ ('≮', '⊌'),
+ ('⊏', '⊒'),
+ ('⊘', '⊘'),
+ ('⊢', '⊣'),
+ ('⊦', '⊸'),
+ ('⊾', '⊿'),
+ ('⋉', '⋍'),
+ ('⋐', '⋑'),
+ ('⋖', '⋭'),
+ ('⋰', '⋿'),
+ ('⌈', '⌋'),
+ ('⌠', '⌡'),
+ ('〈', '〉'),
+ ('❨', '❵'),
+ ('⟀', '⟀'),
+ ('⟃', '⟆'),
+ ('⟈', '⟉'),
+ ('⟋', '⟍'),
+ ('⟓', '⟖'),
+ ('⟜', '⟞'),
+ ('⟢', '⟯'),
+ ('⦃', '⦘'),
+ ('⦛', '⦠'),
+ ('⦢', '⦯'),
+ ('⦸', '⦸'),
+ ('⧀', '⧅'),
+ ('⧉', '⧉'),
+ ('⧎', '⧒'),
+ ('⧔', '⧕'),
+ ('⧘', '⧜'),
+ ('⧡', '⧡'),
+ ('⧣', '⧥'),
+ ('⧨', '⧩'),
+ ('⧴', '⧹'),
+ ('⧼', '⧽'),
+ ('⨊', '⨜'),
+ ('⨞', '⨡'),
+ ('⨤', '⨤'),
+ ('⨦', '⨦'),
+ ('⨩', '⨩'),
+ ('⨫', '⨮'),
+ ('⨴', '⨵'),
+ ('⨼', '⨾'),
+ ('⩗', '⩘'),
+ ('⩤', '⩥'),
+ ('⩪', '⩭'),
+ ('⩯', '⩰'),
+ ('⩳', '⩴'),
+ ('⩹', '⪣'),
+ ('⪦', '⪭'),
+ ('⪯', '⫖'),
+ ('⫝̸', '⫝̸'),
+ ('⫞', '⫞'),
+ ('⫢', '⫦'),
+ ('⫬', '⫮'),
+ ('⫳', '⫳'),
+ ('⫷', '⫻'),
+ ('⫽', '⫽'),
+ ('⯾', '⯾'),
+ ('⸂', '⸅'),
+ ('⸉', '⸊'),
+ ('⸌', '⸍'),
+ ('⸜', '⸝'),
+ ('⸠', '⸩'),
+ ('⹕', '⹜'),
+ ('〈', '】'),
+ ('〔', '〛'),
+ ('﹙', '﹞'),
+ ('﹤', '﹥'),
+ ('(', ')'),
+ ('<', '<'),
+ ('>', '>'),
+ ('[', '['),
+ (']', ']'),
+ ('{', '{'),
+ ('}', '}'),
+ ('⦅', '⦆'),
+ ('「', '」'),
+ ('𝛛', '𝛛'),
+ ('𝜕', '𝜕'),
+ ('𝝏', '𝝏'),
+ ('𝞉', '𝞉'),
+ ('𝟃', '𝟃'),
+];
+
+pub const CASE_IGNORABLE: &'static [(char, char)] = &[
+ ('\'', '\''),
+ ('.', '.'),
+ (':', ':'),
+ ('^', '^'),
+ ('`', '`'),
+ ('¨', '¨'),
+ ('\u{ad}', '\u{ad}'),
+ ('¯', '¯'),
+ ('´', '´'),
+ ('·', '¸'),
+ ('ʰ', '\u{36f}'),
+ ('ʹ', '͵'),
+ ('ͺ', 'ͺ'),
+ ('΄', '΅'),
+ ('·', '·'),
+ ('\u{483}', '\u{489}'),
+ ('ՙ', 'ՙ'),
+ ('՟', '՟'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('״', '״'),
+ ('\u{600}', '\u{605}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{61c}', '\u{61c}'),
+ ('ـ', 'ـ'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dd}'),
+ ('\u{6df}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{70f}', '\u{70f}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('࢈', '࢈'),
+ ('\u{890}', '\u{891}'),
+ ('\u{898}', '\u{89f}'),
+ ('ࣉ', '\u{902}'),
+ ('\u{93a}', '\u{93a}'),
+ ('\u{93c}', '\u{93c}'),
+ ('\u{941}', '\u{948}'),
+ ('\u{94d}', '\u{94d}'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('ॱ', 'ॱ'),
+ ('\u{981}', '\u{981}'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9c1}', '\u{9c4}'),
+ ('\u{9cd}', '\u{9cd}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', '\u{a02}'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('\u{a41}', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', '\u{a82}'),
+ ('\u{abc}', '\u{abc}'),
+ ('\u{ac1}', '\u{ac5}'),
+ ('\u{ac7}', '\u{ac8}'),
+ ('\u{acd}', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', '\u{b01}'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3f}', '\u{b3f}'),
+ ('\u{b41}', '\u{b44}'),
+ ('\u{b4d}', '\u{b4d}'),
+ ('\u{b55}', '\u{b56}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bc0}', '\u{bc0}'),
+ ('\u{bcd}', '\u{bcd}'),
+ ('\u{c00}', '\u{c00}'),
+ ('\u{c04}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', '\u{c40}'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', '\u{c81}'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('\u{cbf}', '\u{cbf}'),
+ ('\u{cc6}', '\u{cc6}'),
+ ('\u{ccc}', '\u{ccd}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('\u{d00}', '\u{d01}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d41}', '\u{d44}'),
+ ('\u{d4d}', '\u{d4d}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', '\u{d81}'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dd2}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('ๆ', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('\u{f71}', '\u{f7e}'),
+ ('\u{f80}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('\u{102d}', '\u{1030}'),
+ ('\u{1032}', '\u{1037}'),
+ ('\u{1039}', '\u{103a}'),
+ ('\u{103d}', '\u{103e}'),
+ ('\u{1058}', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{1082}'),
+ ('\u{1085}', '\u{1086}'),
+ ('\u{108d}', '\u{108d}'),
+ ('\u{109d}', '\u{109d}'),
+ ('ჼ', 'ჼ'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '\u{1714}'),
+ ('\u{1732}', '\u{1733}'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17b5}'),
+ ('\u{17b7}', '\u{17bd}'),
+ ('\u{17c6}', '\u{17c6}'),
+ ('\u{17c9}', '\u{17d3}'),
+ ('ៗ', 'ៗ'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180f}'),
+ ('ᡃ', 'ᡃ'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', '\u{1922}'),
+ ('\u{1927}', '\u{1928}'),
+ ('\u{1932}', '\u{1932}'),
+ ('\u{1939}', '\u{193b}'),
+ ('\u{1a17}', '\u{1a18}'),
+ ('\u{1a1b}', '\u{1a1b}'),
+ ('\u{1a56}', '\u{1a56}'),
+ ('\u{1a58}', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a60}'),
+ ('\u{1a62}', '\u{1a62}'),
+ ('\u{1a65}', '\u{1a6c}'),
+ ('\u{1a73}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('ᪧ', 'ᪧ'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', '\u{1b03}'),
+ ('\u{1b34}', '\u{1b34}'),
+ ('\u{1b36}', '\u{1b3a}'),
+ ('\u{1b3c}', '\u{1b3c}'),
+ ('\u{1b42}', '\u{1b42}'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '\u{1b81}'),
+ ('\u{1ba2}', '\u{1ba5}'),
+ ('\u{1ba8}', '\u{1ba9}'),
+ ('\u{1bab}', '\u{1bad}'),
+ ('\u{1be6}', '\u{1be6}'),
+ ('\u{1be8}', '\u{1be9}'),
+ ('\u{1bed}', '\u{1bed}'),
+ ('\u{1bef}', '\u{1bf1}'),
+ ('\u{1c2c}', '\u{1c33}'),
+ ('\u{1c36}', '\u{1c37}'),
+ ('ᱸ', 'ᱽ'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce0}'),
+ ('\u{1ce2}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('ᴬ', 'ᵪ'),
+ ('ᵸ', 'ᵸ'),
+ ('ᶛ', '\u{1dff}'),
+ ('᾽', '᾽'),
+ ('᾿', '῁'),
+ ('῍', '῏'),
+ ('῝', '῟'),
+ ('῭', '`'),
+ ('´', '῾'),
+ ('\u{200b}', '\u{200f}'),
+ ('‘', '’'),
+ ('․', '․'),
+ ('‧', '‧'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2060}', '\u{2064}'),
+ ('\u{2066}', '\u{206f}'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('ⱼ', 'ⱽ'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('ⵯ', 'ⵯ'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '々'),
+ ('\u{302a}', '\u{302d}'),
+ ('〱', '〵'),
+ ('〻', '〻'),
+ ('\u{3099}', 'ゞ'),
+ ('ー', 'ヾ'),
+ ('ꀕ', 'ꀕ'),
+ ('ꓸ', 'ꓽ'),
+ ('ꘌ', 'ꘌ'),
+ ('\u{a66f}', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('ꙿ', 'ꙿ'),
+ ('ꚜ', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('꜀', '꜡'),
+ ('ꝰ', 'ꝰ'),
+ ('ꞈ', '꞊'),
+ ('ꟲ', 'ꟴ'),
+ ('ꟸ', 'ꟹ'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('\u{a825}', '\u{a826}'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('\u{a8c4}', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '\u{a951}'),
+ ('\u{a980}', '\u{a982}'),
+ ('\u{a9b3}', '\u{a9b3}'),
+ ('\u{a9b6}', '\u{a9b9}'),
+ ('\u{a9bc}', '\u{a9bd}'),
+ ('ꧏ', 'ꧏ'),
+ ('\u{a9e5}', 'ꧦ'),
+ ('\u{aa29}', '\u{aa2e}'),
+ ('\u{aa31}', '\u{aa32}'),
+ ('\u{aa35}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', '\u{aa4c}'),
+ ('ꩰ', 'ꩰ'),
+ ('\u{aa7c}', '\u{aa7c}'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('ꫝ', 'ꫝ'),
+ ('\u{aaec}', '\u{aaed}'),
+ ('ꫳ', 'ꫴ'),
+ ('\u{aaf6}', '\u{aaf6}'),
+ ('꭛', 'ꭟ'),
+ ('ꭩ', '꭫'),
+ ('\u{abe5}', '\u{abe5}'),
+ ('\u{abe8}', '\u{abe8}'),
+ ('\u{abed}', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('﮲', '﯂'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('︓', '︓'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('﹒', '﹒'),
+ ('﹕', '﹕'),
+ ('\u{feff}', '\u{feff}'),
+ (''', '''),
+ ('.', '.'),
+ (':', ':'),
+ ('^', '^'),
+ ('`', '`'),
+ ('ー', 'ー'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ (' ̄', ' ̄'),
+ ('\u{fff9}', '\u{fffb}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('\u{11001}', '\u{11001}'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '\u{11081}'),
+ ('\u{110b3}', '\u{110b6}'),
+ ('\u{110b9}', '\u{110ba}'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{110cd}', '\u{110cd}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{1112b}'),
+ ('\u{1112d}', '\u{11134}'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '\u{11181}'),
+ ('\u{111b6}', '\u{111be}'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('\u{111cf}', '\u{111cf}'),
+ ('\u{1122f}', '\u{11231}'),
+ ('\u{11234}', '\u{11234}'),
+ ('\u{11236}', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112df}'),
+ ('\u{112e3}', '\u{112ea}'),
+ ('\u{11300}', '\u{11301}'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{11340}', '\u{11340}'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('\u{11438}', '\u{1143f}'),
+ ('\u{11442}', '\u{11444}'),
+ ('\u{11446}', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b3}', '\u{114b8}'),
+ ('\u{114ba}', '\u{114ba}'),
+ ('\u{114bf}', '\u{114c0}'),
+ ('\u{114c2}', '\u{114c3}'),
+ ('\u{115b2}', '\u{115b5}'),
+ ('\u{115bc}', '\u{115bd}'),
+ ('\u{115bf}', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('\u{11633}', '\u{1163a}'),
+ ('\u{1163d}', '\u{1163d}'),
+ ('\u{1163f}', '\u{11640}'),
+ ('\u{116ab}', '\u{116ab}'),
+ ('\u{116ad}', '\u{116ad}'),
+ ('\u{116b0}', '\u{116b5}'),
+ ('\u{116b7}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1171f}'),
+ ('\u{11722}', '\u{11725}'),
+ ('\u{11727}', '\u{1172b}'),
+ ('\u{1182f}', '\u{11837}'),
+ ('\u{11839}', '\u{1183a}'),
+ ('\u{1193b}', '\u{1193c}'),
+ ('\u{1193e}', '\u{1193e}'),
+ ('\u{11943}', '\u{11943}'),
+ ('\u{119d4}', '\u{119d7}'),
+ ('\u{119da}', '\u{119db}'),
+ ('\u{119e0}', '\u{119e0}'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '\u{11a38}'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a56}'),
+ ('\u{11a59}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a96}'),
+ ('\u{11a98}', '\u{11a99}'),
+ ('\u{11c30}', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3d}'),
+ ('\u{11c3f}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('\u{11caa}', '\u{11cb0}'),
+ ('\u{11cb2}', '\u{11cb3}'),
+ ('\u{11cb5}', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('\u{11d95}', '\u{11d95}'),
+ ('\u{11d97}', '\u{11d97}'),
+ ('\u{11ef3}', '\u{11ef4}'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('\u{11f36}', '\u{11f3a}'),
+ ('\u{11f40}', '\u{11f40}'),
+ ('\u{11f42}', '\u{11f42}'),
+ ('\u{13430}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('𖭀', '𖭃'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('\u{16f8f}', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '\u{16fe4}'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('\u{1d173}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '𞄽'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('𞓫', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '𞥋'),
+ ('🏻', '🏿'),
+ ('\u{e0001}', '\u{e0001}'),
+ ('\u{e0020}', '\u{e007f}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const CASED: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ƺ'),
+ ('Ƽ', 'ƿ'),
+ ('DŽ', 'ʓ'),
+ ('ʕ', 'ʸ'),
+ ('ˀ', 'ˁ'),
+ ('ˠ', 'ˤ'),
+ ('\u{345}', '\u{345}'),
+ ('Ͱ', 'ͳ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՠ', 'ֈ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ჿ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᴀ', 'ᶿ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℯ', 'ℴ'),
+ ('ℹ', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ⅿ'),
+ ('Ↄ', 'ↄ'),
+ ('Ⓐ', 'ⓩ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('Ꙁ', 'ꙭ'),
+ ('Ꚁ', 'ꚝ'),
+ ('Ꜣ', 'ꞇ'),
+ ('Ꞌ', 'ꞎ'),
+ ('Ꞑ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꟶ'),
+ ('ꟸ', 'ꟺ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('𐐀', '𐑏'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐞀', '𐞀'),
+ ('𐞃', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𑢠', '𑣟'),
+ ('𖹀', '𖹿'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼉'),
+ ('𝼋', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞤀', '𞥃'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+];
+
+pub const CHANGES_WHEN_CASEFOLDED: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('µ', 'µ'),
+ ('À', 'Ö'),
+ ('Ø', 'ß'),
+ ('Ā', 'Ā'),
+ ('Ă', 'Ă'),
+ ('Ą', 'Ą'),
+ ('Ć', 'Ć'),
+ ('Ĉ', 'Ĉ'),
+ ('Ċ', 'Ċ'),
+ ('Č', 'Č'),
+ ('Ď', 'Ď'),
+ ('Đ', 'Đ'),
+ ('Ē', 'Ē'),
+ ('Ĕ', 'Ĕ'),
+ ('Ė', 'Ė'),
+ ('Ę', 'Ę'),
+ ('Ě', 'Ě'),
+ ('Ĝ', 'Ĝ'),
+ ('Ğ', 'Ğ'),
+ ('Ġ', 'Ġ'),
+ ('Ģ', 'Ģ'),
+ ('Ĥ', 'Ĥ'),
+ ('Ħ', 'Ħ'),
+ ('Ĩ', 'Ĩ'),
+ ('Ī', 'Ī'),
+ ('Ĭ', 'Ĭ'),
+ ('Į', 'Į'),
+ ('İ', 'İ'),
+ ('IJ', 'IJ'),
+ ('Ĵ', 'Ĵ'),
+ ('Ķ', 'Ķ'),
+ ('Ĺ', 'Ĺ'),
+ ('Ļ', 'Ļ'),
+ ('Ľ', 'Ľ'),
+ ('Ŀ', 'Ŀ'),
+ ('Ł', 'Ł'),
+ ('Ń', 'Ń'),
+ ('Ņ', 'Ņ'),
+ ('Ň', 'Ň'),
+ ('ʼn', 'Ŋ'),
+ ('Ō', 'Ō'),
+ ('Ŏ', 'Ŏ'),
+ ('Ő', 'Ő'),
+ ('Œ', 'Œ'),
+ ('Ŕ', 'Ŕ'),
+ ('Ŗ', 'Ŗ'),
+ ('Ř', 'Ř'),
+ ('Ś', 'Ś'),
+ ('Ŝ', 'Ŝ'),
+ ('Ş', 'Ş'),
+ ('Š', 'Š'),
+ ('Ţ', 'Ţ'),
+ ('Ť', 'Ť'),
+ ('Ŧ', 'Ŧ'),
+ ('Ũ', 'Ũ'),
+ ('Ū', 'Ū'),
+ ('Ŭ', 'Ŭ'),
+ ('Ů', 'Ů'),
+ ('Ű', 'Ű'),
+ ('Ų', 'Ų'),
+ ('Ŵ', 'Ŵ'),
+ ('Ŷ', 'Ŷ'),
+ ('Ÿ', 'Ź'),
+ ('Ż', 'Ż'),
+ ('Ž', 'Ž'),
+ ('ſ', 'ſ'),
+ ('Ɓ', 'Ƃ'),
+ ('Ƅ', 'Ƅ'),
+ ('Ɔ', 'Ƈ'),
+ ('Ɖ', 'Ƌ'),
+ ('Ǝ', 'Ƒ'),
+ ('Ɠ', 'Ɣ'),
+ ('Ɩ', 'Ƙ'),
+ ('Ɯ', 'Ɲ'),
+ ('Ɵ', 'Ơ'),
+ ('Ƣ', 'Ƣ'),
+ ('Ƥ', 'Ƥ'),
+ ('Ʀ', 'Ƨ'),
+ ('Ʃ', 'Ʃ'),
+ ('Ƭ', 'Ƭ'),
+ ('Ʈ', 'Ư'),
+ ('Ʊ', 'Ƴ'),
+ ('Ƶ', 'Ƶ'),
+ ('Ʒ', 'Ƹ'),
+ ('Ƽ', 'Ƽ'),
+ ('DŽ', 'Dž'),
+ ('LJ', 'Lj'),
+ ('NJ', 'Nj'),
+ ('Ǎ', 'Ǎ'),
+ ('Ǐ', 'Ǐ'),
+ ('Ǒ', 'Ǒ'),
+ ('Ǔ', 'Ǔ'),
+ ('Ǖ', 'Ǖ'),
+ ('Ǘ', 'Ǘ'),
+ ('Ǚ', 'Ǚ'),
+ ('Ǜ', 'Ǜ'),
+ ('Ǟ', 'Ǟ'),
+ ('Ǡ', 'Ǡ'),
+ ('Ǣ', 'Ǣ'),
+ ('Ǥ', 'Ǥ'),
+ ('Ǧ', 'Ǧ'),
+ ('Ǩ', 'Ǩ'),
+ ('Ǫ', 'Ǫ'),
+ ('Ǭ', 'Ǭ'),
+ ('Ǯ', 'Ǯ'),
+ ('DZ', 'Dz'),
+ ('Ǵ', 'Ǵ'),
+ ('Ƕ', 'Ǹ'),
+ ('Ǻ', 'Ǻ'),
+ ('Ǽ', 'Ǽ'),
+ ('Ǿ', 'Ǿ'),
+ ('Ȁ', 'Ȁ'),
+ ('Ȃ', 'Ȃ'),
+ ('Ȅ', 'Ȅ'),
+ ('Ȇ', 'Ȇ'),
+ ('Ȉ', 'Ȉ'),
+ ('Ȋ', 'Ȋ'),
+ ('Ȍ', 'Ȍ'),
+ ('Ȏ', 'Ȏ'),
+ ('Ȑ', 'Ȑ'),
+ ('Ȓ', 'Ȓ'),
+ ('Ȕ', 'Ȕ'),
+ ('Ȗ', 'Ȗ'),
+ ('Ș', 'Ș'),
+ ('Ț', 'Ț'),
+ ('Ȝ', 'Ȝ'),
+ ('Ȟ', 'Ȟ'),
+ ('Ƞ', 'Ƞ'),
+ ('Ȣ', 'Ȣ'),
+ ('Ȥ', 'Ȥ'),
+ ('Ȧ', 'Ȧ'),
+ ('Ȩ', 'Ȩ'),
+ ('Ȫ', 'Ȫ'),
+ ('Ȭ', 'Ȭ'),
+ ('Ȯ', 'Ȯ'),
+ ('Ȱ', 'Ȱ'),
+ ('Ȳ', 'Ȳ'),
+ ('Ⱥ', 'Ȼ'),
+ ('Ƚ', 'Ⱦ'),
+ ('Ɂ', 'Ɂ'),
+ ('Ƀ', 'Ɇ'),
+ ('Ɉ', 'Ɉ'),
+ ('Ɋ', 'Ɋ'),
+ ('Ɍ', 'Ɍ'),
+ ('Ɏ', 'Ɏ'),
+ ('\u{345}', '\u{345}'),
+ ('Ͱ', 'Ͱ'),
+ ('Ͳ', 'Ͳ'),
+ ('Ͷ', 'Ͷ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ώ'),
+ ('Α', 'Ρ'),
+ ('Σ', 'Ϋ'),
+ ('ς', 'ς'),
+ ('Ϗ', 'ϑ'),
+ ('ϕ', 'ϖ'),
+ ('Ϙ', 'Ϙ'),
+ ('Ϛ', 'Ϛ'),
+ ('Ϝ', 'Ϝ'),
+ ('Ϟ', 'Ϟ'),
+ ('Ϡ', 'Ϡ'),
+ ('Ϣ', 'Ϣ'),
+ ('Ϥ', 'Ϥ'),
+ ('Ϧ', 'Ϧ'),
+ ('Ϩ', 'Ϩ'),
+ ('Ϫ', 'Ϫ'),
+ ('Ϭ', 'Ϭ'),
+ ('Ϯ', 'Ϯ'),
+ ('ϰ', 'ϱ'),
+ ('ϴ', 'ϵ'),
+ ('Ϸ', 'Ϸ'),
+ ('Ϲ', 'Ϻ'),
+ ('Ͻ', 'Я'),
+ ('Ѡ', 'Ѡ'),
+ ('Ѣ', 'Ѣ'),
+ ('Ѥ', 'Ѥ'),
+ ('Ѧ', 'Ѧ'),
+ ('Ѩ', 'Ѩ'),
+ ('Ѫ', 'Ѫ'),
+ ('Ѭ', 'Ѭ'),
+ ('Ѯ', 'Ѯ'),
+ ('Ѱ', 'Ѱ'),
+ ('Ѳ', 'Ѳ'),
+ ('Ѵ', 'Ѵ'),
+ ('Ѷ', 'Ѷ'),
+ ('Ѹ', 'Ѹ'),
+ ('Ѻ', 'Ѻ'),
+ ('Ѽ', 'Ѽ'),
+ ('Ѿ', 'Ѿ'),
+ ('Ҁ', 'Ҁ'),
+ ('Ҋ', 'Ҋ'),
+ ('Ҍ', 'Ҍ'),
+ ('Ҏ', 'Ҏ'),
+ ('Ґ', 'Ґ'),
+ ('Ғ', 'Ғ'),
+ ('Ҕ', 'Ҕ'),
+ ('Җ', 'Җ'),
+ ('Ҙ', 'Ҙ'),
+ ('Қ', 'Қ'),
+ ('Ҝ', 'Ҝ'),
+ ('Ҟ', 'Ҟ'),
+ ('Ҡ', 'Ҡ'),
+ ('Ң', 'Ң'),
+ ('Ҥ', 'Ҥ'),
+ ('Ҧ', 'Ҧ'),
+ ('Ҩ', 'Ҩ'),
+ ('Ҫ', 'Ҫ'),
+ ('Ҭ', 'Ҭ'),
+ ('Ү', 'Ү'),
+ ('Ұ', 'Ұ'),
+ ('Ҳ', 'Ҳ'),
+ ('Ҵ', 'Ҵ'),
+ ('Ҷ', 'Ҷ'),
+ ('Ҹ', 'Ҹ'),
+ ('Һ', 'Һ'),
+ ('Ҽ', 'Ҽ'),
+ ('Ҿ', 'Ҿ'),
+ ('Ӏ', 'Ӂ'),
+ ('Ӄ', 'Ӄ'),
+ ('Ӆ', 'Ӆ'),
+ ('Ӈ', 'Ӈ'),
+ ('Ӊ', 'Ӊ'),
+ ('Ӌ', 'Ӌ'),
+ ('Ӎ', 'Ӎ'),
+ ('Ӑ', 'Ӑ'),
+ ('Ӓ', 'Ӓ'),
+ ('Ӕ', 'Ӕ'),
+ ('Ӗ', 'Ӗ'),
+ ('Ә', 'Ә'),
+ ('Ӛ', 'Ӛ'),
+ ('Ӝ', 'Ӝ'),
+ ('Ӟ', 'Ӟ'),
+ ('Ӡ', 'Ӡ'),
+ ('Ӣ', 'Ӣ'),
+ ('Ӥ', 'Ӥ'),
+ ('Ӧ', 'Ӧ'),
+ ('Ө', 'Ө'),
+ ('Ӫ', 'Ӫ'),
+ ('Ӭ', 'Ӭ'),
+ ('Ӯ', 'Ӯ'),
+ ('Ӱ', 'Ӱ'),
+ ('Ӳ', 'Ӳ'),
+ ('Ӵ', 'Ӵ'),
+ ('Ӷ', 'Ӷ'),
+ ('Ӹ', 'Ӹ'),
+ ('Ӻ', 'Ӻ'),
+ ('Ӽ', 'Ӽ'),
+ ('Ӿ', 'Ӿ'),
+ ('Ԁ', 'Ԁ'),
+ ('Ԃ', 'Ԃ'),
+ ('Ԅ', 'Ԅ'),
+ ('Ԇ', 'Ԇ'),
+ ('Ԉ', 'Ԉ'),
+ ('Ԋ', 'Ԋ'),
+ ('Ԍ', 'Ԍ'),
+ ('Ԏ', 'Ԏ'),
+ ('Ԑ', 'Ԑ'),
+ ('Ԓ', 'Ԓ'),
+ ('Ԕ', 'Ԕ'),
+ ('Ԗ', 'Ԗ'),
+ ('Ԙ', 'Ԙ'),
+ ('Ԛ', 'Ԛ'),
+ ('Ԝ', 'Ԝ'),
+ ('Ԟ', 'Ԟ'),
+ ('Ԡ', 'Ԡ'),
+ ('Ԣ', 'Ԣ'),
+ ('Ԥ', 'Ԥ'),
+ ('Ԧ', 'Ԧ'),
+ ('Ԩ', 'Ԩ'),
+ ('Ԫ', 'Ԫ'),
+ ('Ԭ', 'Ԭ'),
+ ('Ԯ', 'Ԯ'),
+ ('Ա', 'Ֆ'),
+ ('և', 'և'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('Ḁ', 'Ḁ'),
+ ('Ḃ', 'Ḃ'),
+ ('Ḅ', 'Ḅ'),
+ ('Ḇ', 'Ḇ'),
+ ('Ḉ', 'Ḉ'),
+ ('Ḋ', 'Ḋ'),
+ ('Ḍ', 'Ḍ'),
+ ('Ḏ', 'Ḏ'),
+ ('Ḑ', 'Ḑ'),
+ ('Ḓ', 'Ḓ'),
+ ('Ḕ', 'Ḕ'),
+ ('Ḗ', 'Ḗ'),
+ ('Ḙ', 'Ḙ'),
+ ('Ḛ', 'Ḛ'),
+ ('Ḝ', 'Ḝ'),
+ ('Ḟ', 'Ḟ'),
+ ('Ḡ', 'Ḡ'),
+ ('Ḣ', 'Ḣ'),
+ ('Ḥ', 'Ḥ'),
+ ('Ḧ', 'Ḧ'),
+ ('Ḩ', 'Ḩ'),
+ ('Ḫ', 'Ḫ'),
+ ('Ḭ', 'Ḭ'),
+ ('Ḯ', 'Ḯ'),
+ ('Ḱ', 'Ḱ'),
+ ('Ḳ', 'Ḳ'),
+ ('Ḵ', 'Ḵ'),
+ ('Ḷ', 'Ḷ'),
+ ('Ḹ', 'Ḹ'),
+ ('Ḻ', 'Ḻ'),
+ ('Ḽ', 'Ḽ'),
+ ('Ḿ', 'Ḿ'),
+ ('Ṁ', 'Ṁ'),
+ ('Ṃ', 'Ṃ'),
+ ('Ṅ', 'Ṅ'),
+ ('Ṇ', 'Ṇ'),
+ ('Ṉ', 'Ṉ'),
+ ('Ṋ', 'Ṋ'),
+ ('Ṍ', 'Ṍ'),
+ ('Ṏ', 'Ṏ'),
+ ('Ṑ', 'Ṑ'),
+ ('Ṓ', 'Ṓ'),
+ ('Ṕ', 'Ṕ'),
+ ('Ṗ', 'Ṗ'),
+ ('Ṙ', 'Ṙ'),
+ ('Ṛ', 'Ṛ'),
+ ('Ṝ', 'Ṝ'),
+ ('Ṟ', 'Ṟ'),
+ ('Ṡ', 'Ṡ'),
+ ('Ṣ', 'Ṣ'),
+ ('Ṥ', 'Ṥ'),
+ ('Ṧ', 'Ṧ'),
+ ('Ṩ', 'Ṩ'),
+ ('Ṫ', 'Ṫ'),
+ ('Ṭ', 'Ṭ'),
+ ('Ṯ', 'Ṯ'),
+ ('Ṱ', 'Ṱ'),
+ ('Ṳ', 'Ṳ'),
+ ('Ṵ', 'Ṵ'),
+ ('Ṷ', 'Ṷ'),
+ ('Ṹ', 'Ṹ'),
+ ('Ṻ', 'Ṻ'),
+ ('Ṽ', 'Ṽ'),
+ ('Ṿ', 'Ṿ'),
+ ('Ẁ', 'Ẁ'),
+ ('Ẃ', 'Ẃ'),
+ ('Ẅ', 'Ẅ'),
+ ('Ẇ', 'Ẇ'),
+ ('Ẉ', 'Ẉ'),
+ ('Ẋ', 'Ẋ'),
+ ('Ẍ', 'Ẍ'),
+ ('Ẏ', 'Ẏ'),
+ ('Ẑ', 'Ẑ'),
+ ('Ẓ', 'Ẓ'),
+ ('Ẕ', 'Ẕ'),
+ ('ẚ', 'ẛ'),
+ ('ẞ', 'ẞ'),
+ ('Ạ', 'Ạ'),
+ ('Ả', 'Ả'),
+ ('Ấ', 'Ấ'),
+ ('Ầ', 'Ầ'),
+ ('Ẩ', 'Ẩ'),
+ ('Ẫ', 'Ẫ'),
+ ('Ậ', 'Ậ'),
+ ('Ắ', 'Ắ'),
+ ('Ằ', 'Ằ'),
+ ('Ẳ', 'Ẳ'),
+ ('Ẵ', 'Ẵ'),
+ ('Ặ', 'Ặ'),
+ ('Ẹ', 'Ẹ'),
+ ('Ẻ', 'Ẻ'),
+ ('Ẽ', 'Ẽ'),
+ ('Ế', 'Ế'),
+ ('Ề', 'Ề'),
+ ('Ể', 'Ể'),
+ ('Ễ', 'Ễ'),
+ ('Ệ', 'Ệ'),
+ ('Ỉ', 'Ỉ'),
+ ('Ị', 'Ị'),
+ ('Ọ', 'Ọ'),
+ ('Ỏ', 'Ỏ'),
+ ('Ố', 'Ố'),
+ ('Ồ', 'Ồ'),
+ ('Ổ', 'Ổ'),
+ ('Ỗ', 'Ỗ'),
+ ('Ộ', 'Ộ'),
+ ('Ớ', 'Ớ'),
+ ('Ờ', 'Ờ'),
+ ('Ở', 'Ở'),
+ ('Ỡ', 'Ỡ'),
+ ('Ợ', 'Ợ'),
+ ('Ụ', 'Ụ'),
+ ('Ủ', 'Ủ'),
+ ('Ứ', 'Ứ'),
+ ('Ừ', 'Ừ'),
+ ('Ử', 'Ử'),
+ ('Ữ', 'Ữ'),
+ ('Ự', 'Ự'),
+ ('Ỳ', 'Ỳ'),
+ ('Ỵ', 'Ỵ'),
+ ('Ỷ', 'Ỷ'),
+ ('Ỹ', 'Ỹ'),
+ ('Ỻ', 'Ỻ'),
+ ('Ỽ', 'Ỽ'),
+ ('Ỿ', 'Ỿ'),
+ ('Ἀ', 'Ἇ'),
+ ('Ἐ', 'Ἕ'),
+ ('Ἠ', 'Ἧ'),
+ ('Ἰ', 'Ἷ'),
+ ('Ὀ', 'Ὅ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'Ὗ'),
+ ('Ὠ', 'Ὧ'),
+ ('ᾀ', 'ᾯ'),
+ ('ᾲ', 'ᾴ'),
+ ('ᾷ', 'ᾼ'),
+ ('ῂ', 'ῄ'),
+ ('ῇ', 'ῌ'),
+ ('Ῐ', 'Ί'),
+ ('Ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῷ', 'ῼ'),
+ ('Ω', 'Ω'),
+ ('K', 'Å'),
+ ('Ⅎ', 'Ⅎ'),
+ ('Ⅰ', 'Ⅿ'),
+ ('Ↄ', 'Ↄ'),
+ ('Ⓐ', 'Ⓩ'),
+ ('Ⰰ', 'Ⱟ'),
+ ('Ⱡ', 'Ⱡ'),
+ ('Ɫ', 'Ɽ'),
+ ('Ⱨ', 'Ⱨ'),
+ ('Ⱪ', 'Ⱪ'),
+ ('Ⱬ', 'Ⱬ'),
+ ('Ɑ', 'Ɒ'),
+ ('Ⱳ', 'Ⱳ'),
+ ('Ⱶ', 'Ⱶ'),
+ ('Ȿ', 'Ⲁ'),
+ ('Ⲃ', 'Ⲃ'),
+ ('Ⲅ', 'Ⲅ'),
+ ('Ⲇ', 'Ⲇ'),
+ ('Ⲉ', 'Ⲉ'),
+ ('Ⲋ', 'Ⲋ'),
+ ('Ⲍ', 'Ⲍ'),
+ ('Ⲏ', 'Ⲏ'),
+ ('Ⲑ', 'Ⲑ'),
+ ('Ⲓ', 'Ⲓ'),
+ ('Ⲕ', 'Ⲕ'),
+ ('Ⲗ', 'Ⲗ'),
+ ('Ⲙ', 'Ⲙ'),
+ ('Ⲛ', 'Ⲛ'),
+ ('Ⲝ', 'Ⲝ'),
+ ('Ⲟ', 'Ⲟ'),
+ ('Ⲡ', 'Ⲡ'),
+ ('Ⲣ', 'Ⲣ'),
+ ('Ⲥ', 'Ⲥ'),
+ ('Ⲧ', 'Ⲧ'),
+ ('Ⲩ', 'Ⲩ'),
+ ('Ⲫ', 'Ⲫ'),
+ ('Ⲭ', 'Ⲭ'),
+ ('Ⲯ', 'Ⲯ'),
+ ('Ⲱ', 'Ⲱ'),
+ ('Ⲳ', 'Ⲳ'),
+ ('Ⲵ', 'Ⲵ'),
+ ('Ⲷ', 'Ⲷ'),
+ ('Ⲹ', 'Ⲹ'),
+ ('Ⲻ', 'Ⲻ'),
+ ('Ⲽ', 'Ⲽ'),
+ ('Ⲿ', 'Ⲿ'),
+ ('Ⳁ', 'Ⳁ'),
+ ('Ⳃ', 'Ⳃ'),
+ ('Ⳅ', 'Ⳅ'),
+ ('Ⳇ', 'Ⳇ'),
+ ('Ⳉ', 'Ⳉ'),
+ ('Ⳋ', 'Ⳋ'),
+ ('Ⳍ', 'Ⳍ'),
+ ('Ⳏ', 'Ⳏ'),
+ ('Ⳑ', 'Ⳑ'),
+ ('Ⳓ', 'Ⳓ'),
+ ('Ⳕ', 'Ⳕ'),
+ ('Ⳗ', 'Ⳗ'),
+ ('Ⳙ', 'Ⳙ'),
+ ('Ⳛ', 'Ⳛ'),
+ ('Ⳝ', 'Ⳝ'),
+ ('Ⳟ', 'Ⳟ'),
+ ('Ⳡ', 'Ⳡ'),
+ ('Ⳣ', 'Ⳣ'),
+ ('Ⳬ', 'Ⳬ'),
+ ('Ⳮ', 'Ⳮ'),
+ ('Ⳳ', 'Ⳳ'),
+ ('Ꙁ', 'Ꙁ'),
+ ('Ꙃ', 'Ꙃ'),
+ ('Ꙅ', 'Ꙅ'),
+ ('Ꙇ', 'Ꙇ'),
+ ('Ꙉ', 'Ꙉ'),
+ ('Ꙋ', 'Ꙋ'),
+ ('Ꙍ', 'Ꙍ'),
+ ('Ꙏ', 'Ꙏ'),
+ ('Ꙑ', 'Ꙑ'),
+ ('Ꙓ', 'Ꙓ'),
+ ('Ꙕ', 'Ꙕ'),
+ ('Ꙗ', 'Ꙗ'),
+ ('Ꙙ', 'Ꙙ'),
+ ('Ꙛ', 'Ꙛ'),
+ ('Ꙝ', 'Ꙝ'),
+ ('Ꙟ', 'Ꙟ'),
+ ('Ꙡ', 'Ꙡ'),
+ ('Ꙣ', 'Ꙣ'),
+ ('Ꙥ', 'Ꙥ'),
+ ('Ꙧ', 'Ꙧ'),
+ ('Ꙩ', 'Ꙩ'),
+ ('Ꙫ', 'Ꙫ'),
+ ('Ꙭ', 'Ꙭ'),
+ ('Ꚁ', 'Ꚁ'),
+ ('Ꚃ', 'Ꚃ'),
+ ('Ꚅ', 'Ꚅ'),
+ ('Ꚇ', 'Ꚇ'),
+ ('Ꚉ', 'Ꚉ'),
+ ('Ꚋ', 'Ꚋ'),
+ ('Ꚍ', 'Ꚍ'),
+ ('Ꚏ', 'Ꚏ'),
+ ('Ꚑ', 'Ꚑ'),
+ ('Ꚓ', 'Ꚓ'),
+ ('Ꚕ', 'Ꚕ'),
+ ('Ꚗ', 'Ꚗ'),
+ ('Ꚙ', 'Ꚙ'),
+ ('Ꚛ', 'Ꚛ'),
+ ('Ꜣ', 'Ꜣ'),
+ ('Ꜥ', 'Ꜥ'),
+ ('Ꜧ', 'Ꜧ'),
+ ('Ꜩ', 'Ꜩ'),
+ ('Ꜫ', 'Ꜫ'),
+ ('Ꜭ', 'Ꜭ'),
+ ('Ꜯ', 'Ꜯ'),
+ ('Ꜳ', 'Ꜳ'),
+ ('Ꜵ', 'Ꜵ'),
+ ('Ꜷ', 'Ꜷ'),
+ ('Ꜹ', 'Ꜹ'),
+ ('Ꜻ', 'Ꜻ'),
+ ('Ꜽ', 'Ꜽ'),
+ ('Ꜿ', 'Ꜿ'),
+ ('Ꝁ', 'Ꝁ'),
+ ('Ꝃ', 'Ꝃ'),
+ ('Ꝅ', 'Ꝅ'),
+ ('Ꝇ', 'Ꝇ'),
+ ('Ꝉ', 'Ꝉ'),
+ ('Ꝋ', 'Ꝋ'),
+ ('Ꝍ', 'Ꝍ'),
+ ('Ꝏ', 'Ꝏ'),
+ ('Ꝑ', 'Ꝑ'),
+ ('Ꝓ', 'Ꝓ'),
+ ('Ꝕ', 'Ꝕ'),
+ ('Ꝗ', 'Ꝗ'),
+ ('Ꝙ', 'Ꝙ'),
+ ('Ꝛ', 'Ꝛ'),
+ ('Ꝝ', 'Ꝝ'),
+ ('Ꝟ', 'Ꝟ'),
+ ('Ꝡ', 'Ꝡ'),
+ ('Ꝣ', 'Ꝣ'),
+ ('Ꝥ', 'Ꝥ'),
+ ('Ꝧ', 'Ꝧ'),
+ ('Ꝩ', 'Ꝩ'),
+ ('Ꝫ', 'Ꝫ'),
+ ('Ꝭ', 'Ꝭ'),
+ ('Ꝯ', 'Ꝯ'),
+ ('Ꝺ', 'Ꝺ'),
+ ('Ꝼ', 'Ꝼ'),
+ ('Ᵹ', 'Ꝿ'),
+ ('Ꞁ', 'Ꞁ'),
+ ('Ꞃ', 'Ꞃ'),
+ ('Ꞅ', 'Ꞅ'),
+ ('Ꞇ', 'Ꞇ'),
+ ('Ꞌ', 'Ꞌ'),
+ ('Ɥ', 'Ɥ'),
+ ('Ꞑ', 'Ꞑ'),
+ ('Ꞓ', 'Ꞓ'),
+ ('Ꞗ', 'Ꞗ'),
+ ('Ꞙ', 'Ꞙ'),
+ ('Ꞛ', 'Ꞛ'),
+ ('Ꞝ', 'Ꞝ'),
+ ('Ꞟ', 'Ꞟ'),
+ ('Ꞡ', 'Ꞡ'),
+ ('Ꞣ', 'Ꞣ'),
+ ('Ꞥ', 'Ꞥ'),
+ ('Ꞧ', 'Ꞧ'),
+ ('Ꞩ', 'Ꞩ'),
+ ('Ɦ', 'Ɪ'),
+ ('Ʞ', 'Ꞵ'),
+ ('Ꞷ', 'Ꞷ'),
+ ('Ꞹ', 'Ꞹ'),
+ ('Ꞻ', 'Ꞻ'),
+ ('Ꞽ', 'Ꞽ'),
+ ('Ꞿ', 'Ꞿ'),
+ ('Ꟁ', 'Ꟁ'),
+ ('Ꟃ', 'Ꟃ'),
+ ('Ꞔ', 'Ꟈ'),
+ ('Ꟊ', 'Ꟊ'),
+ ('Ꟑ', 'Ꟑ'),
+ ('Ꟗ', 'Ꟗ'),
+ ('Ꟙ', 'Ꟙ'),
+ ('Ꟶ', 'Ꟶ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('A', 'Z'),
+ ('𐐀', '𐐧'),
+ ('𐒰', '𐓓'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐲀', '𐲲'),
+ ('𑢠', '𑢿'),
+ ('𖹀', '𖹟'),
+ ('𞤀', '𞤡'),
+];
+
+pub const CHANGES_WHEN_CASEMAPPED: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('µ', 'µ'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ķ'),
+ ('Ĺ', 'ƌ'),
+ ('Ǝ', 'ƚ'),
+ ('Ɯ', 'Ʃ'),
+ ('Ƭ', 'ƹ'),
+ ('Ƽ', 'ƽ'),
+ ('ƿ', 'ƿ'),
+ ('DŽ', 'Ƞ'),
+ ('Ȣ', 'ȳ'),
+ ('Ⱥ', 'ɔ'),
+ ('ɖ', 'ɗ'),
+ ('ə', 'ə'),
+ ('ɛ', 'ɜ'),
+ ('ɠ', 'ɡ'),
+ ('ɣ', 'ɣ'),
+ ('ɥ', 'ɦ'),
+ ('ɨ', 'ɬ'),
+ ('ɯ', 'ɯ'),
+ ('ɱ', 'ɲ'),
+ ('ɵ', 'ɵ'),
+ ('ɽ', 'ɽ'),
+ ('ʀ', 'ʀ'),
+ ('ʂ', 'ʃ'),
+ ('ʇ', 'ʌ'),
+ ('ʒ', 'ʒ'),
+ ('ʝ', 'ʞ'),
+ ('\u{345}', '\u{345}'),
+ ('Ͱ', 'ͳ'),
+ ('Ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϑ'),
+ ('ϕ', 'ϵ'),
+ ('Ϸ', 'ϻ'),
+ ('Ͻ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ա', 'և'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჽ', 'ჿ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᵹ', 'ᵹ'),
+ ('ᵽ', 'ᵽ'),
+ ('ᶎ', 'ᶎ'),
+ ('Ḁ', 'ẛ'),
+ ('ẞ', 'ẞ'),
+ ('Ạ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('Ω', 'Ω'),
+ ('K', 'Å'),
+ ('Ⅎ', 'Ⅎ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ⅿ'),
+ ('Ↄ', 'ↄ'),
+ ('Ⓐ', 'ⓩ'),
+ ('Ⰰ', 'Ɒ'),
+ ('Ⱳ', 'ⱳ'),
+ ('Ⱶ', 'ⱶ'),
+ ('Ȿ', 'ⳣ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('Ꙁ', 'ꙭ'),
+ ('Ꚁ', 'ꚛ'),
+ ('Ꜣ', 'ꜯ'),
+ ('Ꜳ', 'ꝯ'),
+ ('Ꝺ', 'ꞇ'),
+ ('Ꞌ', 'Ɥ'),
+ ('Ꞑ', 'ꞔ'),
+ ('Ꞗ', 'Ɪ'),
+ ('Ʞ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('Ꟗ', 'ꟙ'),
+ ('Ꟶ', 'ꟶ'),
+ ('ꭓ', 'ꭓ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('𐐀', '𐑏'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𑢠', '𑣟'),
+ ('𖹀', '𖹿'),
+ ('𞤀', '𞥃'),
+];
+
+pub const CHANGES_WHEN_LOWERCASED: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('À', 'Ö'),
+ ('Ø', 'Þ'),
+ ('Ā', 'Ā'),
+ ('Ă', 'Ă'),
+ ('Ą', 'Ą'),
+ ('Ć', 'Ć'),
+ ('Ĉ', 'Ĉ'),
+ ('Ċ', 'Ċ'),
+ ('Č', 'Č'),
+ ('Ď', 'Ď'),
+ ('Đ', 'Đ'),
+ ('Ē', 'Ē'),
+ ('Ĕ', 'Ĕ'),
+ ('Ė', 'Ė'),
+ ('Ę', 'Ę'),
+ ('Ě', 'Ě'),
+ ('Ĝ', 'Ĝ'),
+ ('Ğ', 'Ğ'),
+ ('Ġ', 'Ġ'),
+ ('Ģ', 'Ģ'),
+ ('Ĥ', 'Ĥ'),
+ ('Ħ', 'Ħ'),
+ ('Ĩ', 'Ĩ'),
+ ('Ī', 'Ī'),
+ ('Ĭ', 'Ĭ'),
+ ('Į', 'Į'),
+ ('İ', 'İ'),
+ ('IJ', 'IJ'),
+ ('Ĵ', 'Ĵ'),
+ ('Ķ', 'Ķ'),
+ ('Ĺ', 'Ĺ'),
+ ('Ļ', 'Ļ'),
+ ('Ľ', 'Ľ'),
+ ('Ŀ', 'Ŀ'),
+ ('Ł', 'Ł'),
+ ('Ń', 'Ń'),
+ ('Ņ', 'Ņ'),
+ ('Ň', 'Ň'),
+ ('Ŋ', 'Ŋ'),
+ ('Ō', 'Ō'),
+ ('Ŏ', 'Ŏ'),
+ ('Ő', 'Ő'),
+ ('Œ', 'Œ'),
+ ('Ŕ', 'Ŕ'),
+ ('Ŗ', 'Ŗ'),
+ ('Ř', 'Ř'),
+ ('Ś', 'Ś'),
+ ('Ŝ', 'Ŝ'),
+ ('Ş', 'Ş'),
+ ('Š', 'Š'),
+ ('Ţ', 'Ţ'),
+ ('Ť', 'Ť'),
+ ('Ŧ', 'Ŧ'),
+ ('Ũ', 'Ũ'),
+ ('Ū', 'Ū'),
+ ('Ŭ', 'Ŭ'),
+ ('Ů', 'Ů'),
+ ('Ű', 'Ű'),
+ ('Ų', 'Ų'),
+ ('Ŵ', 'Ŵ'),
+ ('Ŷ', 'Ŷ'),
+ ('Ÿ', 'Ź'),
+ ('Ż', 'Ż'),
+ ('Ž', 'Ž'),
+ ('Ɓ', 'Ƃ'),
+ ('Ƅ', 'Ƅ'),
+ ('Ɔ', 'Ƈ'),
+ ('Ɖ', 'Ƌ'),
+ ('Ǝ', 'Ƒ'),
+ ('Ɠ', 'Ɣ'),
+ ('Ɩ', 'Ƙ'),
+ ('Ɯ', 'Ɲ'),
+ ('Ɵ', 'Ơ'),
+ ('Ƣ', 'Ƣ'),
+ ('Ƥ', 'Ƥ'),
+ ('Ʀ', 'Ƨ'),
+ ('Ʃ', 'Ʃ'),
+ ('Ƭ', 'Ƭ'),
+ ('Ʈ', 'Ư'),
+ ('Ʊ', 'Ƴ'),
+ ('Ƶ', 'Ƶ'),
+ ('Ʒ', 'Ƹ'),
+ ('Ƽ', 'Ƽ'),
+ ('DŽ', 'Dž'),
+ ('LJ', 'Lj'),
+ ('NJ', 'Nj'),
+ ('Ǎ', 'Ǎ'),
+ ('Ǐ', 'Ǐ'),
+ ('Ǒ', 'Ǒ'),
+ ('Ǔ', 'Ǔ'),
+ ('Ǖ', 'Ǖ'),
+ ('Ǘ', 'Ǘ'),
+ ('Ǚ', 'Ǚ'),
+ ('Ǜ', 'Ǜ'),
+ ('Ǟ', 'Ǟ'),
+ ('Ǡ', 'Ǡ'),
+ ('Ǣ', 'Ǣ'),
+ ('Ǥ', 'Ǥ'),
+ ('Ǧ', 'Ǧ'),
+ ('Ǩ', 'Ǩ'),
+ ('Ǫ', 'Ǫ'),
+ ('Ǭ', 'Ǭ'),
+ ('Ǯ', 'Ǯ'),
+ ('DZ', 'Dz'),
+ ('Ǵ', 'Ǵ'),
+ ('Ƕ', 'Ǹ'),
+ ('Ǻ', 'Ǻ'),
+ ('Ǽ', 'Ǽ'),
+ ('Ǿ', 'Ǿ'),
+ ('Ȁ', 'Ȁ'),
+ ('Ȃ', 'Ȃ'),
+ ('Ȅ', 'Ȅ'),
+ ('Ȇ', 'Ȇ'),
+ ('Ȉ', 'Ȉ'),
+ ('Ȋ', 'Ȋ'),
+ ('Ȍ', 'Ȍ'),
+ ('Ȏ', 'Ȏ'),
+ ('Ȑ', 'Ȑ'),
+ ('Ȓ', 'Ȓ'),
+ ('Ȕ', 'Ȕ'),
+ ('Ȗ', 'Ȗ'),
+ ('Ș', 'Ș'),
+ ('Ț', 'Ț'),
+ ('Ȝ', 'Ȝ'),
+ ('Ȟ', 'Ȟ'),
+ ('Ƞ', 'Ƞ'),
+ ('Ȣ', 'Ȣ'),
+ ('Ȥ', 'Ȥ'),
+ ('Ȧ', 'Ȧ'),
+ ('Ȩ', 'Ȩ'),
+ ('Ȫ', 'Ȫ'),
+ ('Ȭ', 'Ȭ'),
+ ('Ȯ', 'Ȯ'),
+ ('Ȱ', 'Ȱ'),
+ ('Ȳ', 'Ȳ'),
+ ('Ⱥ', 'Ȼ'),
+ ('Ƚ', 'Ⱦ'),
+ ('Ɂ', 'Ɂ'),
+ ('Ƀ', 'Ɇ'),
+ ('Ɉ', 'Ɉ'),
+ ('Ɋ', 'Ɋ'),
+ ('Ɍ', 'Ɍ'),
+ ('Ɏ', 'Ɏ'),
+ ('Ͱ', 'Ͱ'),
+ ('Ͳ', 'Ͳ'),
+ ('Ͷ', 'Ͷ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ώ'),
+ ('Α', 'Ρ'),
+ ('Σ', 'Ϋ'),
+ ('Ϗ', 'Ϗ'),
+ ('Ϙ', 'Ϙ'),
+ ('Ϛ', 'Ϛ'),
+ ('Ϝ', 'Ϝ'),
+ ('Ϟ', 'Ϟ'),
+ ('Ϡ', 'Ϡ'),
+ ('Ϣ', 'Ϣ'),
+ ('Ϥ', 'Ϥ'),
+ ('Ϧ', 'Ϧ'),
+ ('Ϩ', 'Ϩ'),
+ ('Ϫ', 'Ϫ'),
+ ('Ϭ', 'Ϭ'),
+ ('Ϯ', 'Ϯ'),
+ ('ϴ', 'ϴ'),
+ ('Ϸ', 'Ϸ'),
+ ('Ϲ', 'Ϻ'),
+ ('Ͻ', 'Я'),
+ ('Ѡ', 'Ѡ'),
+ ('Ѣ', 'Ѣ'),
+ ('Ѥ', 'Ѥ'),
+ ('Ѧ', 'Ѧ'),
+ ('Ѩ', 'Ѩ'),
+ ('Ѫ', 'Ѫ'),
+ ('Ѭ', 'Ѭ'),
+ ('Ѯ', 'Ѯ'),
+ ('Ѱ', 'Ѱ'),
+ ('Ѳ', 'Ѳ'),
+ ('Ѵ', 'Ѵ'),
+ ('Ѷ', 'Ѷ'),
+ ('Ѹ', 'Ѹ'),
+ ('Ѻ', 'Ѻ'),
+ ('Ѽ', 'Ѽ'),
+ ('Ѿ', 'Ѿ'),
+ ('Ҁ', 'Ҁ'),
+ ('Ҋ', 'Ҋ'),
+ ('Ҍ', 'Ҍ'),
+ ('Ҏ', 'Ҏ'),
+ ('Ґ', 'Ґ'),
+ ('Ғ', 'Ғ'),
+ ('Ҕ', 'Ҕ'),
+ ('Җ', 'Җ'),
+ ('Ҙ', 'Ҙ'),
+ ('Қ', 'Қ'),
+ ('Ҝ', 'Ҝ'),
+ ('Ҟ', 'Ҟ'),
+ ('Ҡ', 'Ҡ'),
+ ('Ң', 'Ң'),
+ ('Ҥ', 'Ҥ'),
+ ('Ҧ', 'Ҧ'),
+ ('Ҩ', 'Ҩ'),
+ ('Ҫ', 'Ҫ'),
+ ('Ҭ', 'Ҭ'),
+ ('Ү', 'Ү'),
+ ('Ұ', 'Ұ'),
+ ('Ҳ', 'Ҳ'),
+ ('Ҵ', 'Ҵ'),
+ ('Ҷ', 'Ҷ'),
+ ('Ҹ', 'Ҹ'),
+ ('Һ', 'Һ'),
+ ('Ҽ', 'Ҽ'),
+ ('Ҿ', 'Ҿ'),
+ ('Ӏ', 'Ӂ'),
+ ('Ӄ', 'Ӄ'),
+ ('Ӆ', 'Ӆ'),
+ ('Ӈ', 'Ӈ'),
+ ('Ӊ', 'Ӊ'),
+ ('Ӌ', 'Ӌ'),
+ ('Ӎ', 'Ӎ'),
+ ('Ӑ', 'Ӑ'),
+ ('Ӓ', 'Ӓ'),
+ ('Ӕ', 'Ӕ'),
+ ('Ӗ', 'Ӗ'),
+ ('Ә', 'Ә'),
+ ('Ӛ', 'Ӛ'),
+ ('Ӝ', 'Ӝ'),
+ ('Ӟ', 'Ӟ'),
+ ('Ӡ', 'Ӡ'),
+ ('Ӣ', 'Ӣ'),
+ ('Ӥ', 'Ӥ'),
+ ('Ӧ', 'Ӧ'),
+ ('Ө', 'Ө'),
+ ('Ӫ', 'Ӫ'),
+ ('Ӭ', 'Ӭ'),
+ ('Ӯ', 'Ӯ'),
+ ('Ӱ', 'Ӱ'),
+ ('Ӳ', 'Ӳ'),
+ ('Ӵ', 'Ӵ'),
+ ('Ӷ', 'Ӷ'),
+ ('Ӹ', 'Ӹ'),
+ ('Ӻ', 'Ӻ'),
+ ('Ӽ', 'Ӽ'),
+ ('Ӿ', 'Ӿ'),
+ ('Ԁ', 'Ԁ'),
+ ('Ԃ', 'Ԃ'),
+ ('Ԅ', 'Ԅ'),
+ ('Ԇ', 'Ԇ'),
+ ('Ԉ', 'Ԉ'),
+ ('Ԋ', 'Ԋ'),
+ ('Ԍ', 'Ԍ'),
+ ('Ԏ', 'Ԏ'),
+ ('Ԑ', 'Ԑ'),
+ ('Ԓ', 'Ԓ'),
+ ('Ԕ', 'Ԕ'),
+ ('Ԗ', 'Ԗ'),
+ ('Ԙ', 'Ԙ'),
+ ('Ԛ', 'Ԛ'),
+ ('Ԝ', 'Ԝ'),
+ ('Ԟ', 'Ԟ'),
+ ('Ԡ', 'Ԡ'),
+ ('Ԣ', 'Ԣ'),
+ ('Ԥ', 'Ԥ'),
+ ('Ԧ', 'Ԧ'),
+ ('Ԩ', 'Ԩ'),
+ ('Ԫ', 'Ԫ'),
+ ('Ԭ', 'Ԭ'),
+ ('Ԯ', 'Ԯ'),
+ ('Ա', 'Ֆ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('Ḁ', 'Ḁ'),
+ ('Ḃ', 'Ḃ'),
+ ('Ḅ', 'Ḅ'),
+ ('Ḇ', 'Ḇ'),
+ ('Ḉ', 'Ḉ'),
+ ('Ḋ', 'Ḋ'),
+ ('Ḍ', 'Ḍ'),
+ ('Ḏ', 'Ḏ'),
+ ('Ḑ', 'Ḑ'),
+ ('Ḓ', 'Ḓ'),
+ ('Ḕ', 'Ḕ'),
+ ('Ḗ', 'Ḗ'),
+ ('Ḙ', 'Ḙ'),
+ ('Ḛ', 'Ḛ'),
+ ('Ḝ', 'Ḝ'),
+ ('Ḟ', 'Ḟ'),
+ ('Ḡ', 'Ḡ'),
+ ('Ḣ', 'Ḣ'),
+ ('Ḥ', 'Ḥ'),
+ ('Ḧ', 'Ḧ'),
+ ('Ḩ', 'Ḩ'),
+ ('Ḫ', 'Ḫ'),
+ ('Ḭ', 'Ḭ'),
+ ('Ḯ', 'Ḯ'),
+ ('Ḱ', 'Ḱ'),
+ ('Ḳ', 'Ḳ'),
+ ('Ḵ', 'Ḵ'),
+ ('Ḷ', 'Ḷ'),
+ ('Ḹ', 'Ḹ'),
+ ('Ḻ', 'Ḻ'),
+ ('Ḽ', 'Ḽ'),
+ ('Ḿ', 'Ḿ'),
+ ('Ṁ', 'Ṁ'),
+ ('Ṃ', 'Ṃ'),
+ ('Ṅ', 'Ṅ'),
+ ('Ṇ', 'Ṇ'),
+ ('Ṉ', 'Ṉ'),
+ ('Ṋ', 'Ṋ'),
+ ('Ṍ', 'Ṍ'),
+ ('Ṏ', 'Ṏ'),
+ ('Ṑ', 'Ṑ'),
+ ('Ṓ', 'Ṓ'),
+ ('Ṕ', 'Ṕ'),
+ ('Ṗ', 'Ṗ'),
+ ('Ṙ', 'Ṙ'),
+ ('Ṛ', 'Ṛ'),
+ ('Ṝ', 'Ṝ'),
+ ('Ṟ', 'Ṟ'),
+ ('Ṡ', 'Ṡ'),
+ ('Ṣ', 'Ṣ'),
+ ('Ṥ', 'Ṥ'),
+ ('Ṧ', 'Ṧ'),
+ ('Ṩ', 'Ṩ'),
+ ('Ṫ', 'Ṫ'),
+ ('Ṭ', 'Ṭ'),
+ ('Ṯ', 'Ṯ'),
+ ('Ṱ', 'Ṱ'),
+ ('Ṳ', 'Ṳ'),
+ ('Ṵ', 'Ṵ'),
+ ('Ṷ', 'Ṷ'),
+ ('Ṹ', 'Ṹ'),
+ ('Ṻ', 'Ṻ'),
+ ('Ṽ', 'Ṽ'),
+ ('Ṿ', 'Ṿ'),
+ ('Ẁ', 'Ẁ'),
+ ('Ẃ', 'Ẃ'),
+ ('Ẅ', 'Ẅ'),
+ ('Ẇ', 'Ẇ'),
+ ('Ẉ', 'Ẉ'),
+ ('Ẋ', 'Ẋ'),
+ ('Ẍ', 'Ẍ'),
+ ('Ẏ', 'Ẏ'),
+ ('Ẑ', 'Ẑ'),
+ ('Ẓ', 'Ẓ'),
+ ('Ẕ', 'Ẕ'),
+ ('ẞ', 'ẞ'),
+ ('Ạ', 'Ạ'),
+ ('Ả', 'Ả'),
+ ('Ấ', 'Ấ'),
+ ('Ầ', 'Ầ'),
+ ('Ẩ', 'Ẩ'),
+ ('Ẫ', 'Ẫ'),
+ ('Ậ', 'Ậ'),
+ ('Ắ', 'Ắ'),
+ ('Ằ', 'Ằ'),
+ ('Ẳ', 'Ẳ'),
+ ('Ẵ', 'Ẵ'),
+ ('Ặ', 'Ặ'),
+ ('Ẹ', 'Ẹ'),
+ ('Ẻ', 'Ẻ'),
+ ('Ẽ', 'Ẽ'),
+ ('Ế', 'Ế'),
+ ('Ề', 'Ề'),
+ ('Ể', 'Ể'),
+ ('Ễ', 'Ễ'),
+ ('Ệ', 'Ệ'),
+ ('Ỉ', 'Ỉ'),
+ ('Ị', 'Ị'),
+ ('Ọ', 'Ọ'),
+ ('Ỏ', 'Ỏ'),
+ ('Ố', 'Ố'),
+ ('Ồ', 'Ồ'),
+ ('Ổ', 'Ổ'),
+ ('Ỗ', 'Ỗ'),
+ ('Ộ', 'Ộ'),
+ ('Ớ', 'Ớ'),
+ ('Ờ', 'Ờ'),
+ ('Ở', 'Ở'),
+ ('Ỡ', 'Ỡ'),
+ ('Ợ', 'Ợ'),
+ ('Ụ', 'Ụ'),
+ ('Ủ', 'Ủ'),
+ ('Ứ', 'Ứ'),
+ ('Ừ', 'Ừ'),
+ ('Ử', 'Ử'),
+ ('Ữ', 'Ữ'),
+ ('Ự', 'Ự'),
+ ('Ỳ', 'Ỳ'),
+ ('Ỵ', 'Ỵ'),
+ ('Ỷ', 'Ỷ'),
+ ('Ỹ', 'Ỹ'),
+ ('Ỻ', 'Ỻ'),
+ ('Ỽ', 'Ỽ'),
+ ('Ỿ', 'Ỿ'),
+ ('Ἀ', 'Ἇ'),
+ ('Ἐ', 'Ἕ'),
+ ('Ἠ', 'Ἧ'),
+ ('Ἰ', 'Ἷ'),
+ ('Ὀ', 'Ὅ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'Ὗ'),
+ ('Ὠ', 'Ὧ'),
+ ('ᾈ', 'ᾏ'),
+ ('ᾘ', 'ᾟ'),
+ ('ᾨ', 'ᾯ'),
+ ('Ᾰ', 'ᾼ'),
+ ('Ὲ', 'ῌ'),
+ ('Ῐ', 'Ί'),
+ ('Ῠ', 'Ῥ'),
+ ('Ὸ', 'ῼ'),
+ ('Ω', 'Ω'),
+ ('K', 'Å'),
+ ('Ⅎ', 'Ⅎ'),
+ ('Ⅰ', 'Ⅿ'),
+ ('Ↄ', 'Ↄ'),
+ ('Ⓐ', 'Ⓩ'),
+ ('Ⰰ', 'Ⱟ'),
+ ('Ⱡ', 'Ⱡ'),
+ ('Ɫ', 'Ɽ'),
+ ('Ⱨ', 'Ⱨ'),
+ ('Ⱪ', 'Ⱪ'),
+ ('Ⱬ', 'Ⱬ'),
+ ('Ɑ', 'Ɒ'),
+ ('Ⱳ', 'Ⱳ'),
+ ('Ⱶ', 'Ⱶ'),
+ ('Ȿ', 'Ⲁ'),
+ ('Ⲃ', 'Ⲃ'),
+ ('Ⲅ', 'Ⲅ'),
+ ('Ⲇ', 'Ⲇ'),
+ ('Ⲉ', 'Ⲉ'),
+ ('Ⲋ', 'Ⲋ'),
+ ('Ⲍ', 'Ⲍ'),
+ ('Ⲏ', 'Ⲏ'),
+ ('Ⲑ', 'Ⲑ'),
+ ('Ⲓ', 'Ⲓ'),
+ ('Ⲕ', 'Ⲕ'),
+ ('Ⲗ', 'Ⲗ'),
+ ('Ⲙ', 'Ⲙ'),
+ ('Ⲛ', 'Ⲛ'),
+ ('Ⲝ', 'Ⲝ'),
+ ('Ⲟ', 'Ⲟ'),
+ ('Ⲡ', 'Ⲡ'),
+ ('Ⲣ', 'Ⲣ'),
+ ('Ⲥ', 'Ⲥ'),
+ ('Ⲧ', 'Ⲧ'),
+ ('Ⲩ', 'Ⲩ'),
+ ('Ⲫ', 'Ⲫ'),
+ ('Ⲭ', 'Ⲭ'),
+ ('Ⲯ', 'Ⲯ'),
+ ('Ⲱ', 'Ⲱ'),
+ ('Ⲳ', 'Ⲳ'),
+ ('Ⲵ', 'Ⲵ'),
+ ('Ⲷ', 'Ⲷ'),
+ ('Ⲹ', 'Ⲹ'),
+ ('Ⲻ', 'Ⲻ'),
+ ('Ⲽ', 'Ⲽ'),
+ ('Ⲿ', 'Ⲿ'),
+ ('Ⳁ', 'Ⳁ'),
+ ('Ⳃ', 'Ⳃ'),
+ ('Ⳅ', 'Ⳅ'),
+ ('Ⳇ', 'Ⳇ'),
+ ('Ⳉ', 'Ⳉ'),
+ ('Ⳋ', 'Ⳋ'),
+ ('Ⳍ', 'Ⳍ'),
+ ('Ⳏ', 'Ⳏ'),
+ ('Ⳑ', 'Ⳑ'),
+ ('Ⳓ', 'Ⳓ'),
+ ('Ⳕ', 'Ⳕ'),
+ ('Ⳗ', 'Ⳗ'),
+ ('Ⳙ', 'Ⳙ'),
+ ('Ⳛ', 'Ⳛ'),
+ ('Ⳝ', 'Ⳝ'),
+ ('Ⳟ', 'Ⳟ'),
+ ('Ⳡ', 'Ⳡ'),
+ ('Ⳣ', 'Ⳣ'),
+ ('Ⳬ', 'Ⳬ'),
+ ('Ⳮ', 'Ⳮ'),
+ ('Ⳳ', 'Ⳳ'),
+ ('Ꙁ', 'Ꙁ'),
+ ('Ꙃ', 'Ꙃ'),
+ ('Ꙅ', 'Ꙅ'),
+ ('Ꙇ', 'Ꙇ'),
+ ('Ꙉ', 'Ꙉ'),
+ ('Ꙋ', 'Ꙋ'),
+ ('Ꙍ', 'Ꙍ'),
+ ('Ꙏ', 'Ꙏ'),
+ ('Ꙑ', 'Ꙑ'),
+ ('Ꙓ', 'Ꙓ'),
+ ('Ꙕ', 'Ꙕ'),
+ ('Ꙗ', 'Ꙗ'),
+ ('Ꙙ', 'Ꙙ'),
+ ('Ꙛ', 'Ꙛ'),
+ ('Ꙝ', 'Ꙝ'),
+ ('Ꙟ', 'Ꙟ'),
+ ('Ꙡ', 'Ꙡ'),
+ ('Ꙣ', 'Ꙣ'),
+ ('Ꙥ', 'Ꙥ'),
+ ('Ꙧ', 'Ꙧ'),
+ ('Ꙩ', 'Ꙩ'),
+ ('Ꙫ', 'Ꙫ'),
+ ('Ꙭ', 'Ꙭ'),
+ ('Ꚁ', 'Ꚁ'),
+ ('Ꚃ', 'Ꚃ'),
+ ('Ꚅ', 'Ꚅ'),
+ ('Ꚇ', 'Ꚇ'),
+ ('Ꚉ', 'Ꚉ'),
+ ('Ꚋ', 'Ꚋ'),
+ ('Ꚍ', 'Ꚍ'),
+ ('Ꚏ', 'Ꚏ'),
+ ('Ꚑ', 'Ꚑ'),
+ ('Ꚓ', 'Ꚓ'),
+ ('Ꚕ', 'Ꚕ'),
+ ('Ꚗ', 'Ꚗ'),
+ ('Ꚙ', 'Ꚙ'),
+ ('Ꚛ', 'Ꚛ'),
+ ('Ꜣ', 'Ꜣ'),
+ ('Ꜥ', 'Ꜥ'),
+ ('Ꜧ', 'Ꜧ'),
+ ('Ꜩ', 'Ꜩ'),
+ ('Ꜫ', 'Ꜫ'),
+ ('Ꜭ', 'Ꜭ'),
+ ('Ꜯ', 'Ꜯ'),
+ ('Ꜳ', 'Ꜳ'),
+ ('Ꜵ', 'Ꜵ'),
+ ('Ꜷ', 'Ꜷ'),
+ ('Ꜹ', 'Ꜹ'),
+ ('Ꜻ', 'Ꜻ'),
+ ('Ꜽ', 'Ꜽ'),
+ ('Ꜿ', 'Ꜿ'),
+ ('Ꝁ', 'Ꝁ'),
+ ('Ꝃ', 'Ꝃ'),
+ ('Ꝅ', 'Ꝅ'),
+ ('Ꝇ', 'Ꝇ'),
+ ('Ꝉ', 'Ꝉ'),
+ ('Ꝋ', 'Ꝋ'),
+ ('Ꝍ', 'Ꝍ'),
+ ('Ꝏ', 'Ꝏ'),
+ ('Ꝑ', 'Ꝑ'),
+ ('Ꝓ', 'Ꝓ'),
+ ('Ꝕ', 'Ꝕ'),
+ ('Ꝗ', 'Ꝗ'),
+ ('Ꝙ', 'Ꝙ'),
+ ('Ꝛ', 'Ꝛ'),
+ ('Ꝝ', 'Ꝝ'),
+ ('Ꝟ', 'Ꝟ'),
+ ('Ꝡ', 'Ꝡ'),
+ ('Ꝣ', 'Ꝣ'),
+ ('Ꝥ', 'Ꝥ'),
+ ('Ꝧ', 'Ꝧ'),
+ ('Ꝩ', 'Ꝩ'),
+ ('Ꝫ', 'Ꝫ'),
+ ('Ꝭ', 'Ꝭ'),
+ ('Ꝯ', 'Ꝯ'),
+ ('Ꝺ', 'Ꝺ'),
+ ('Ꝼ', 'Ꝼ'),
+ ('Ᵹ', 'Ꝿ'),
+ ('Ꞁ', 'Ꞁ'),
+ ('Ꞃ', 'Ꞃ'),
+ ('Ꞅ', 'Ꞅ'),
+ ('Ꞇ', 'Ꞇ'),
+ ('Ꞌ', 'Ꞌ'),
+ ('Ɥ', 'Ɥ'),
+ ('Ꞑ', 'Ꞑ'),
+ ('Ꞓ', 'Ꞓ'),
+ ('Ꞗ', 'Ꞗ'),
+ ('Ꞙ', 'Ꞙ'),
+ ('Ꞛ', 'Ꞛ'),
+ ('Ꞝ', 'Ꞝ'),
+ ('Ꞟ', 'Ꞟ'),
+ ('Ꞡ', 'Ꞡ'),
+ ('Ꞣ', 'Ꞣ'),
+ ('Ꞥ', 'Ꞥ'),
+ ('Ꞧ', 'Ꞧ'),
+ ('Ꞩ', 'Ꞩ'),
+ ('Ɦ', 'Ɪ'),
+ ('Ʞ', 'Ꞵ'),
+ ('Ꞷ', 'Ꞷ'),
+ ('Ꞹ', 'Ꞹ'),
+ ('Ꞻ', 'Ꞻ'),
+ ('Ꞽ', 'Ꞽ'),
+ ('Ꞿ', 'Ꞿ'),
+ ('Ꟁ', 'Ꟁ'),
+ ('Ꟃ', 'Ꟃ'),
+ ('Ꞔ', 'Ꟈ'),
+ ('Ꟊ', 'Ꟊ'),
+ ('Ꟑ', 'Ꟑ'),
+ ('Ꟗ', 'Ꟗ'),
+ ('Ꟙ', 'Ꟙ'),
+ ('Ꟶ', 'Ꟶ'),
+ ('A', 'Z'),
+ ('𐐀', '𐐧'),
+ ('𐒰', '𐓓'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐲀', '𐲲'),
+ ('𑢠', '𑢿'),
+ ('𖹀', '𖹟'),
+ ('𞤀', '𞤡'),
+];
+
+pub const CHANGES_WHEN_TITLECASED: &'static [(char, char)] = &[
+ ('a', 'z'),
+ ('µ', 'µ'),
+ ('ß', 'ö'),
+ ('ø', 'ÿ'),
+ ('ā', 'ā'),
+ ('ă', 'ă'),
+ ('ą', 'ą'),
+ ('ć', 'ć'),
+ ('ĉ', 'ĉ'),
+ ('ċ', 'ċ'),
+ ('č', 'č'),
+ ('ď', 'ď'),
+ ('đ', 'đ'),
+ ('ē', 'ē'),
+ ('ĕ', 'ĕ'),
+ ('ė', 'ė'),
+ ('ę', 'ę'),
+ ('ě', 'ě'),
+ ('ĝ', 'ĝ'),
+ ('ğ', 'ğ'),
+ ('ġ', 'ġ'),
+ ('ģ', 'ģ'),
+ ('ĥ', 'ĥ'),
+ ('ħ', 'ħ'),
+ ('ĩ', 'ĩ'),
+ ('ī', 'ī'),
+ ('ĭ', 'ĭ'),
+ ('į', 'į'),
+ ('ı', 'ı'),
+ ('ij', 'ij'),
+ ('ĵ', 'ĵ'),
+ ('ķ', 'ķ'),
+ ('ĺ', 'ĺ'),
+ ('ļ', 'ļ'),
+ ('ľ', 'ľ'),
+ ('ŀ', 'ŀ'),
+ ('ł', 'ł'),
+ ('ń', 'ń'),
+ ('ņ', 'ņ'),
+ ('ň', 'ʼn'),
+ ('ŋ', 'ŋ'),
+ ('ō', 'ō'),
+ ('ŏ', 'ŏ'),
+ ('ő', 'ő'),
+ ('œ', 'œ'),
+ ('ŕ', 'ŕ'),
+ ('ŗ', 'ŗ'),
+ ('ř', 'ř'),
+ ('ś', 'ś'),
+ ('ŝ', 'ŝ'),
+ ('ş', 'ş'),
+ ('š', 'š'),
+ ('ţ', 'ţ'),
+ ('ť', 'ť'),
+ ('ŧ', 'ŧ'),
+ ('ũ', 'ũ'),
+ ('ū', 'ū'),
+ ('ŭ', 'ŭ'),
+ ('ů', 'ů'),
+ ('ű', 'ű'),
+ ('ų', 'ų'),
+ ('ŵ', 'ŵ'),
+ ('ŷ', 'ŷ'),
+ ('ź', 'ź'),
+ ('ż', 'ż'),
+ ('ž', 'ƀ'),
+ ('ƃ', 'ƃ'),
+ ('ƅ', 'ƅ'),
+ ('ƈ', 'ƈ'),
+ ('ƌ', 'ƌ'),
+ ('ƒ', 'ƒ'),
+ ('ƕ', 'ƕ'),
+ ('ƙ', 'ƚ'),
+ ('ƞ', 'ƞ'),
+ ('ơ', 'ơ'),
+ ('ƣ', 'ƣ'),
+ ('ƥ', 'ƥ'),
+ ('ƨ', 'ƨ'),
+ ('ƭ', 'ƭ'),
+ ('ư', 'ư'),
+ ('ƴ', 'ƴ'),
+ ('ƶ', 'ƶ'),
+ ('ƹ', 'ƹ'),
+ ('ƽ', 'ƽ'),
+ ('ƿ', 'ƿ'),
+ ('DŽ', 'DŽ'),
+ ('dž', 'LJ'),
+ ('lj', 'NJ'),
+ ('nj', 'nj'),
+ ('ǎ', 'ǎ'),
+ ('ǐ', 'ǐ'),
+ ('ǒ', 'ǒ'),
+ ('ǔ', 'ǔ'),
+ ('ǖ', 'ǖ'),
+ ('ǘ', 'ǘ'),
+ ('ǚ', 'ǚ'),
+ ('ǜ', 'ǝ'),
+ ('ǟ', 'ǟ'),
+ ('ǡ', 'ǡ'),
+ ('ǣ', 'ǣ'),
+ ('ǥ', 'ǥ'),
+ ('ǧ', 'ǧ'),
+ ('ǩ', 'ǩ'),
+ ('ǫ', 'ǫ'),
+ ('ǭ', 'ǭ'),
+ ('ǯ', 'DZ'),
+ ('dz', 'dz'),
+ ('ǵ', 'ǵ'),
+ ('ǹ', 'ǹ'),
+ ('ǻ', 'ǻ'),
+ ('ǽ', 'ǽ'),
+ ('ǿ', 'ǿ'),
+ ('ȁ', 'ȁ'),
+ ('ȃ', 'ȃ'),
+ ('ȅ', 'ȅ'),
+ ('ȇ', 'ȇ'),
+ ('ȉ', 'ȉ'),
+ ('ȋ', 'ȋ'),
+ ('ȍ', 'ȍ'),
+ ('ȏ', 'ȏ'),
+ ('ȑ', 'ȑ'),
+ ('ȓ', 'ȓ'),
+ ('ȕ', 'ȕ'),
+ ('ȗ', 'ȗ'),
+ ('ș', 'ș'),
+ ('ț', 'ț'),
+ ('ȝ', 'ȝ'),
+ ('ȟ', 'ȟ'),
+ ('ȣ', 'ȣ'),
+ ('ȥ', 'ȥ'),
+ ('ȧ', 'ȧ'),
+ ('ȩ', 'ȩ'),
+ ('ȫ', 'ȫ'),
+ ('ȭ', 'ȭ'),
+ ('ȯ', 'ȯ'),
+ ('ȱ', 'ȱ'),
+ ('ȳ', 'ȳ'),
+ ('ȼ', 'ȼ'),
+ ('ȿ', 'ɀ'),
+ ('ɂ', 'ɂ'),
+ ('ɇ', 'ɇ'),
+ ('ɉ', 'ɉ'),
+ ('ɋ', 'ɋ'),
+ ('ɍ', 'ɍ'),
+ ('ɏ', 'ɔ'),
+ ('ɖ', 'ɗ'),
+ ('ə', 'ə'),
+ ('ɛ', 'ɜ'),
+ ('ɠ', 'ɡ'),
+ ('ɣ', 'ɣ'),
+ ('ɥ', 'ɦ'),
+ ('ɨ', 'ɬ'),
+ ('ɯ', 'ɯ'),
+ ('ɱ', 'ɲ'),
+ ('ɵ', 'ɵ'),
+ ('ɽ', 'ɽ'),
+ ('ʀ', 'ʀ'),
+ ('ʂ', 'ʃ'),
+ ('ʇ', 'ʌ'),
+ ('ʒ', 'ʒ'),
+ ('ʝ', 'ʞ'),
+ ('\u{345}', '\u{345}'),
+ ('ͱ', 'ͱ'),
+ ('ͳ', 'ͳ'),
+ ('ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('ΐ', 'ΐ'),
+ ('ά', 'ώ'),
+ ('ϐ', 'ϑ'),
+ ('ϕ', 'ϗ'),
+ ('ϙ', 'ϙ'),
+ ('ϛ', 'ϛ'),
+ ('ϝ', 'ϝ'),
+ ('ϟ', 'ϟ'),
+ ('ϡ', 'ϡ'),
+ ('ϣ', 'ϣ'),
+ ('ϥ', 'ϥ'),
+ ('ϧ', 'ϧ'),
+ ('ϩ', 'ϩ'),
+ ('ϫ', 'ϫ'),
+ ('ϭ', 'ϭ'),
+ ('ϯ', 'ϳ'),
+ ('ϵ', 'ϵ'),
+ ('ϸ', 'ϸ'),
+ ('ϻ', 'ϻ'),
+ ('а', 'џ'),
+ ('ѡ', 'ѡ'),
+ ('ѣ', 'ѣ'),
+ ('ѥ', 'ѥ'),
+ ('ѧ', 'ѧ'),
+ ('ѩ', 'ѩ'),
+ ('ѫ', 'ѫ'),
+ ('ѭ', 'ѭ'),
+ ('ѯ', 'ѯ'),
+ ('ѱ', 'ѱ'),
+ ('ѳ', 'ѳ'),
+ ('ѵ', 'ѵ'),
+ ('ѷ', 'ѷ'),
+ ('ѹ', 'ѹ'),
+ ('ѻ', 'ѻ'),
+ ('ѽ', 'ѽ'),
+ ('ѿ', 'ѿ'),
+ ('ҁ', 'ҁ'),
+ ('ҋ', 'ҋ'),
+ ('ҍ', 'ҍ'),
+ ('ҏ', 'ҏ'),
+ ('ґ', 'ґ'),
+ ('ғ', 'ғ'),
+ ('ҕ', 'ҕ'),
+ ('җ', 'җ'),
+ ('ҙ', 'ҙ'),
+ ('қ', 'қ'),
+ ('ҝ', 'ҝ'),
+ ('ҟ', 'ҟ'),
+ ('ҡ', 'ҡ'),
+ ('ң', 'ң'),
+ ('ҥ', 'ҥ'),
+ ('ҧ', 'ҧ'),
+ ('ҩ', 'ҩ'),
+ ('ҫ', 'ҫ'),
+ ('ҭ', 'ҭ'),
+ ('ү', 'ү'),
+ ('ұ', 'ұ'),
+ ('ҳ', 'ҳ'),
+ ('ҵ', 'ҵ'),
+ ('ҷ', 'ҷ'),
+ ('ҹ', 'ҹ'),
+ ('һ', 'һ'),
+ ('ҽ', 'ҽ'),
+ ('ҿ', 'ҿ'),
+ ('ӂ', 'ӂ'),
+ ('ӄ', 'ӄ'),
+ ('ӆ', 'ӆ'),
+ ('ӈ', 'ӈ'),
+ ('ӊ', 'ӊ'),
+ ('ӌ', 'ӌ'),
+ ('ӎ', 'ӏ'),
+ ('ӑ', 'ӑ'),
+ ('ӓ', 'ӓ'),
+ ('ӕ', 'ӕ'),
+ ('ӗ', 'ӗ'),
+ ('ә', 'ә'),
+ ('ӛ', 'ӛ'),
+ ('ӝ', 'ӝ'),
+ ('ӟ', 'ӟ'),
+ ('ӡ', 'ӡ'),
+ ('ӣ', 'ӣ'),
+ ('ӥ', 'ӥ'),
+ ('ӧ', 'ӧ'),
+ ('ө', 'ө'),
+ ('ӫ', 'ӫ'),
+ ('ӭ', 'ӭ'),
+ ('ӯ', 'ӯ'),
+ ('ӱ', 'ӱ'),
+ ('ӳ', 'ӳ'),
+ ('ӵ', 'ӵ'),
+ ('ӷ', 'ӷ'),
+ ('ӹ', 'ӹ'),
+ ('ӻ', 'ӻ'),
+ ('ӽ', 'ӽ'),
+ ('ӿ', 'ӿ'),
+ ('ԁ', 'ԁ'),
+ ('ԃ', 'ԃ'),
+ ('ԅ', 'ԅ'),
+ ('ԇ', 'ԇ'),
+ ('ԉ', 'ԉ'),
+ ('ԋ', 'ԋ'),
+ ('ԍ', 'ԍ'),
+ ('ԏ', 'ԏ'),
+ ('ԑ', 'ԑ'),
+ ('ԓ', 'ԓ'),
+ ('ԕ', 'ԕ'),
+ ('ԗ', 'ԗ'),
+ ('ԙ', 'ԙ'),
+ ('ԛ', 'ԛ'),
+ ('ԝ', 'ԝ'),
+ ('ԟ', 'ԟ'),
+ ('ԡ', 'ԡ'),
+ ('ԣ', 'ԣ'),
+ ('ԥ', 'ԥ'),
+ ('ԧ', 'ԧ'),
+ ('ԩ', 'ԩ'),
+ ('ԫ', 'ԫ'),
+ ('ԭ', 'ԭ'),
+ ('ԯ', 'ԯ'),
+ ('ա', 'և'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᵹ', 'ᵹ'),
+ ('ᵽ', 'ᵽ'),
+ ('ᶎ', 'ᶎ'),
+ ('ḁ', 'ḁ'),
+ ('ḃ', 'ḃ'),
+ ('ḅ', 'ḅ'),
+ ('ḇ', 'ḇ'),
+ ('ḉ', 'ḉ'),
+ ('ḋ', 'ḋ'),
+ ('ḍ', 'ḍ'),
+ ('ḏ', 'ḏ'),
+ ('ḑ', 'ḑ'),
+ ('ḓ', 'ḓ'),
+ ('ḕ', 'ḕ'),
+ ('ḗ', 'ḗ'),
+ ('ḙ', 'ḙ'),
+ ('ḛ', 'ḛ'),
+ ('ḝ', 'ḝ'),
+ ('ḟ', 'ḟ'),
+ ('ḡ', 'ḡ'),
+ ('ḣ', 'ḣ'),
+ ('ḥ', 'ḥ'),
+ ('ḧ', 'ḧ'),
+ ('ḩ', 'ḩ'),
+ ('ḫ', 'ḫ'),
+ ('ḭ', 'ḭ'),
+ ('ḯ', 'ḯ'),
+ ('ḱ', 'ḱ'),
+ ('ḳ', 'ḳ'),
+ ('ḵ', 'ḵ'),
+ ('ḷ', 'ḷ'),
+ ('ḹ', 'ḹ'),
+ ('ḻ', 'ḻ'),
+ ('ḽ', 'ḽ'),
+ ('ḿ', 'ḿ'),
+ ('ṁ', 'ṁ'),
+ ('ṃ', 'ṃ'),
+ ('ṅ', 'ṅ'),
+ ('ṇ', 'ṇ'),
+ ('ṉ', 'ṉ'),
+ ('ṋ', 'ṋ'),
+ ('ṍ', 'ṍ'),
+ ('ṏ', 'ṏ'),
+ ('ṑ', 'ṑ'),
+ ('ṓ', 'ṓ'),
+ ('ṕ', 'ṕ'),
+ ('ṗ', 'ṗ'),
+ ('ṙ', 'ṙ'),
+ ('ṛ', 'ṛ'),
+ ('ṝ', 'ṝ'),
+ ('ṟ', 'ṟ'),
+ ('ṡ', 'ṡ'),
+ ('ṣ', 'ṣ'),
+ ('ṥ', 'ṥ'),
+ ('ṧ', 'ṧ'),
+ ('ṩ', 'ṩ'),
+ ('ṫ', 'ṫ'),
+ ('ṭ', 'ṭ'),
+ ('ṯ', 'ṯ'),
+ ('ṱ', 'ṱ'),
+ ('ṳ', 'ṳ'),
+ ('ṵ', 'ṵ'),
+ ('ṷ', 'ṷ'),
+ ('ṹ', 'ṹ'),
+ ('ṻ', 'ṻ'),
+ ('ṽ', 'ṽ'),
+ ('ṿ', 'ṿ'),
+ ('ẁ', 'ẁ'),
+ ('ẃ', 'ẃ'),
+ ('ẅ', 'ẅ'),
+ ('ẇ', 'ẇ'),
+ ('ẉ', 'ẉ'),
+ ('ẋ', 'ẋ'),
+ ('ẍ', 'ẍ'),
+ ('ẏ', 'ẏ'),
+ ('ẑ', 'ẑ'),
+ ('ẓ', 'ẓ'),
+ ('ẕ', 'ẛ'),
+ ('ạ', 'ạ'),
+ ('ả', 'ả'),
+ ('ấ', 'ấ'),
+ ('ầ', 'ầ'),
+ ('ẩ', 'ẩ'),
+ ('ẫ', 'ẫ'),
+ ('ậ', 'ậ'),
+ ('ắ', 'ắ'),
+ ('ằ', 'ằ'),
+ ('ẳ', 'ẳ'),
+ ('ẵ', 'ẵ'),
+ ('ặ', 'ặ'),
+ ('ẹ', 'ẹ'),
+ ('ẻ', 'ẻ'),
+ ('ẽ', 'ẽ'),
+ ('ế', 'ế'),
+ ('ề', 'ề'),
+ ('ể', 'ể'),
+ ('ễ', 'ễ'),
+ ('ệ', 'ệ'),
+ ('ỉ', 'ỉ'),
+ ('ị', 'ị'),
+ ('ọ', 'ọ'),
+ ('ỏ', 'ỏ'),
+ ('ố', 'ố'),
+ ('ồ', 'ồ'),
+ ('ổ', 'ổ'),
+ ('ỗ', 'ỗ'),
+ ('ộ', 'ộ'),
+ ('ớ', 'ớ'),
+ ('ờ', 'ờ'),
+ ('ở', 'ở'),
+ ('ỡ', 'ỡ'),
+ ('ợ', 'ợ'),
+ ('ụ', 'ụ'),
+ ('ủ', 'ủ'),
+ ('ứ', 'ứ'),
+ ('ừ', 'ừ'),
+ ('ử', 'ử'),
+ ('ữ', 'ữ'),
+ ('ự', 'ự'),
+ ('ỳ', 'ỳ'),
+ ('ỵ', 'ỵ'),
+ ('ỷ', 'ỷ'),
+ ('ỹ', 'ỹ'),
+ ('ỻ', 'ỻ'),
+ ('ỽ', 'ỽ'),
+ ('ỿ', 'ἇ'),
+ ('ἐ', 'ἕ'),
+ ('ἠ', 'ἧ'),
+ ('ἰ', 'ἷ'),
+ ('ὀ', 'ὅ'),
+ ('ὐ', 'ὗ'),
+ ('ὠ', 'ὧ'),
+ ('ὰ', 'ώ'),
+ ('ᾀ', 'ᾇ'),
+ ('ᾐ', 'ᾗ'),
+ ('ᾠ', 'ᾧ'),
+ ('ᾰ', 'ᾴ'),
+ ('ᾶ', 'ᾷ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῇ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'ῗ'),
+ ('ῠ', 'ῧ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῷ'),
+ ('ⅎ', 'ⅎ'),
+ ('ⅰ', 'ⅿ'),
+ ('ↄ', 'ↄ'),
+ ('ⓐ', 'ⓩ'),
+ ('ⰰ', 'ⱟ'),
+ ('ⱡ', 'ⱡ'),
+ ('ⱥ', 'ⱦ'),
+ ('ⱨ', 'ⱨ'),
+ ('ⱪ', 'ⱪ'),
+ ('ⱬ', 'ⱬ'),
+ ('ⱳ', 'ⱳ'),
+ ('ⱶ', 'ⱶ'),
+ ('ⲁ', 'ⲁ'),
+ ('ⲃ', 'ⲃ'),
+ ('ⲅ', 'ⲅ'),
+ ('ⲇ', 'ⲇ'),
+ ('ⲉ', 'ⲉ'),
+ ('ⲋ', 'ⲋ'),
+ ('ⲍ', 'ⲍ'),
+ ('ⲏ', 'ⲏ'),
+ ('ⲑ', 'ⲑ'),
+ ('ⲓ', 'ⲓ'),
+ ('ⲕ', 'ⲕ'),
+ ('ⲗ', 'ⲗ'),
+ ('ⲙ', 'ⲙ'),
+ ('ⲛ', 'ⲛ'),
+ ('ⲝ', 'ⲝ'),
+ ('ⲟ', 'ⲟ'),
+ ('ⲡ', 'ⲡ'),
+ ('ⲣ', 'ⲣ'),
+ ('ⲥ', 'ⲥ'),
+ ('ⲧ', 'ⲧ'),
+ ('ⲩ', 'ⲩ'),
+ ('ⲫ', 'ⲫ'),
+ ('ⲭ', 'ⲭ'),
+ ('ⲯ', 'ⲯ'),
+ ('ⲱ', 'ⲱ'),
+ ('ⲳ', 'ⲳ'),
+ ('ⲵ', 'ⲵ'),
+ ('ⲷ', 'ⲷ'),
+ ('ⲹ', 'ⲹ'),
+ ('ⲻ', 'ⲻ'),
+ ('ⲽ', 'ⲽ'),
+ ('ⲿ', 'ⲿ'),
+ ('ⳁ', 'ⳁ'),
+ ('ⳃ', 'ⳃ'),
+ ('ⳅ', 'ⳅ'),
+ ('ⳇ', 'ⳇ'),
+ ('ⳉ', 'ⳉ'),
+ ('ⳋ', 'ⳋ'),
+ ('ⳍ', 'ⳍ'),
+ ('ⳏ', 'ⳏ'),
+ ('ⳑ', 'ⳑ'),
+ ('ⳓ', 'ⳓ'),
+ ('ⳕ', 'ⳕ'),
+ ('ⳗ', 'ⳗ'),
+ ('ⳙ', 'ⳙ'),
+ ('ⳛ', 'ⳛ'),
+ ('ⳝ', 'ⳝ'),
+ ('ⳟ', 'ⳟ'),
+ ('ⳡ', 'ⳡ'),
+ ('ⳣ', 'ⳣ'),
+ ('ⳬ', 'ⳬ'),
+ ('ⳮ', 'ⳮ'),
+ ('ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ꙁ', 'ꙁ'),
+ ('ꙃ', 'ꙃ'),
+ ('ꙅ', 'ꙅ'),
+ ('ꙇ', 'ꙇ'),
+ ('ꙉ', 'ꙉ'),
+ ('ꙋ', 'ꙋ'),
+ ('ꙍ', 'ꙍ'),
+ ('ꙏ', 'ꙏ'),
+ ('ꙑ', 'ꙑ'),
+ ('ꙓ', 'ꙓ'),
+ ('ꙕ', 'ꙕ'),
+ ('ꙗ', 'ꙗ'),
+ ('ꙙ', 'ꙙ'),
+ ('ꙛ', 'ꙛ'),
+ ('ꙝ', 'ꙝ'),
+ ('ꙟ', 'ꙟ'),
+ ('ꙡ', 'ꙡ'),
+ ('ꙣ', 'ꙣ'),
+ ('ꙥ', 'ꙥ'),
+ ('ꙧ', 'ꙧ'),
+ ('ꙩ', 'ꙩ'),
+ ('ꙫ', 'ꙫ'),
+ ('ꙭ', 'ꙭ'),
+ ('ꚁ', 'ꚁ'),
+ ('ꚃ', 'ꚃ'),
+ ('ꚅ', 'ꚅ'),
+ ('ꚇ', 'ꚇ'),
+ ('ꚉ', 'ꚉ'),
+ ('ꚋ', 'ꚋ'),
+ ('ꚍ', 'ꚍ'),
+ ('ꚏ', 'ꚏ'),
+ ('ꚑ', 'ꚑ'),
+ ('ꚓ', 'ꚓ'),
+ ('ꚕ', 'ꚕ'),
+ ('ꚗ', 'ꚗ'),
+ ('ꚙ', 'ꚙ'),
+ ('ꚛ', 'ꚛ'),
+ ('ꜣ', 'ꜣ'),
+ ('ꜥ', 'ꜥ'),
+ ('ꜧ', 'ꜧ'),
+ ('ꜩ', 'ꜩ'),
+ ('ꜫ', 'ꜫ'),
+ ('ꜭ', 'ꜭ'),
+ ('ꜯ', 'ꜯ'),
+ ('ꜳ', 'ꜳ'),
+ ('ꜵ', 'ꜵ'),
+ ('ꜷ', 'ꜷ'),
+ ('ꜹ', 'ꜹ'),
+ ('ꜻ', 'ꜻ'),
+ ('ꜽ', 'ꜽ'),
+ ('ꜿ', 'ꜿ'),
+ ('ꝁ', 'ꝁ'),
+ ('ꝃ', 'ꝃ'),
+ ('ꝅ', 'ꝅ'),
+ ('ꝇ', 'ꝇ'),
+ ('ꝉ', 'ꝉ'),
+ ('ꝋ', 'ꝋ'),
+ ('ꝍ', 'ꝍ'),
+ ('ꝏ', 'ꝏ'),
+ ('ꝑ', 'ꝑ'),
+ ('ꝓ', 'ꝓ'),
+ ('ꝕ', 'ꝕ'),
+ ('ꝗ', 'ꝗ'),
+ ('ꝙ', 'ꝙ'),
+ ('ꝛ', 'ꝛ'),
+ ('ꝝ', 'ꝝ'),
+ ('ꝟ', 'ꝟ'),
+ ('ꝡ', 'ꝡ'),
+ ('ꝣ', 'ꝣ'),
+ ('ꝥ', 'ꝥ'),
+ ('ꝧ', 'ꝧ'),
+ ('ꝩ', 'ꝩ'),
+ ('ꝫ', 'ꝫ'),
+ ('ꝭ', 'ꝭ'),
+ ('ꝯ', 'ꝯ'),
+ ('ꝺ', 'ꝺ'),
+ ('ꝼ', 'ꝼ'),
+ ('ꝿ', 'ꝿ'),
+ ('ꞁ', 'ꞁ'),
+ ('ꞃ', 'ꞃ'),
+ ('ꞅ', 'ꞅ'),
+ ('ꞇ', 'ꞇ'),
+ ('ꞌ', 'ꞌ'),
+ ('ꞑ', 'ꞑ'),
+ ('ꞓ', 'ꞔ'),
+ ('ꞗ', 'ꞗ'),
+ ('ꞙ', 'ꞙ'),
+ ('ꞛ', 'ꞛ'),
+ ('ꞝ', 'ꞝ'),
+ ('ꞟ', 'ꞟ'),
+ ('ꞡ', 'ꞡ'),
+ ('ꞣ', 'ꞣ'),
+ ('ꞥ', 'ꞥ'),
+ ('ꞧ', 'ꞧ'),
+ ('ꞩ', 'ꞩ'),
+ ('ꞵ', 'ꞵ'),
+ ('ꞷ', 'ꞷ'),
+ ('ꞹ', 'ꞹ'),
+ ('ꞻ', 'ꞻ'),
+ ('ꞽ', 'ꞽ'),
+ ('ꞿ', 'ꞿ'),
+ ('ꟁ', 'ꟁ'),
+ ('ꟃ', 'ꟃ'),
+ ('ꟈ', 'ꟈ'),
+ ('ꟊ', 'ꟊ'),
+ ('ꟑ', 'ꟑ'),
+ ('ꟗ', 'ꟗ'),
+ ('ꟙ', 'ꟙ'),
+ ('ꟶ', 'ꟶ'),
+ ('ꭓ', 'ꭓ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('a', 'z'),
+ ('𐐨', '𐑏'),
+ ('𐓘', '𐓻'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐳀', '𐳲'),
+ ('𑣀', '𑣟'),
+ ('𖹠', '𖹿'),
+ ('𞤢', '𞥃'),
+];
+
+pub const CHANGES_WHEN_UPPERCASED: &'static [(char, char)] = &[
+ ('a', 'z'),
+ ('µ', 'µ'),
+ ('ß', 'ö'),
+ ('ø', 'ÿ'),
+ ('ā', 'ā'),
+ ('ă', 'ă'),
+ ('ą', 'ą'),
+ ('ć', 'ć'),
+ ('ĉ', 'ĉ'),
+ ('ċ', 'ċ'),
+ ('č', 'č'),
+ ('ď', 'ď'),
+ ('đ', 'đ'),
+ ('ē', 'ē'),
+ ('ĕ', 'ĕ'),
+ ('ė', 'ė'),
+ ('ę', 'ę'),
+ ('ě', 'ě'),
+ ('ĝ', 'ĝ'),
+ ('ğ', 'ğ'),
+ ('ġ', 'ġ'),
+ ('ģ', 'ģ'),
+ ('ĥ', 'ĥ'),
+ ('ħ', 'ħ'),
+ ('ĩ', 'ĩ'),
+ ('ī', 'ī'),
+ ('ĭ', 'ĭ'),
+ ('į', 'į'),
+ ('ı', 'ı'),
+ ('ij', 'ij'),
+ ('ĵ', 'ĵ'),
+ ('ķ', 'ķ'),
+ ('ĺ', 'ĺ'),
+ ('ļ', 'ļ'),
+ ('ľ', 'ľ'),
+ ('ŀ', 'ŀ'),
+ ('ł', 'ł'),
+ ('ń', 'ń'),
+ ('ņ', 'ņ'),
+ ('ň', 'ʼn'),
+ ('ŋ', 'ŋ'),
+ ('ō', 'ō'),
+ ('ŏ', 'ŏ'),
+ ('ő', 'ő'),
+ ('œ', 'œ'),
+ ('ŕ', 'ŕ'),
+ ('ŗ', 'ŗ'),
+ ('ř', 'ř'),
+ ('ś', 'ś'),
+ ('ŝ', 'ŝ'),
+ ('ş', 'ş'),
+ ('š', 'š'),
+ ('ţ', 'ţ'),
+ ('ť', 'ť'),
+ ('ŧ', 'ŧ'),
+ ('ũ', 'ũ'),
+ ('ū', 'ū'),
+ ('ŭ', 'ŭ'),
+ ('ů', 'ů'),
+ ('ű', 'ű'),
+ ('ų', 'ų'),
+ ('ŵ', 'ŵ'),
+ ('ŷ', 'ŷ'),
+ ('ź', 'ź'),
+ ('ż', 'ż'),
+ ('ž', 'ƀ'),
+ ('ƃ', 'ƃ'),
+ ('ƅ', 'ƅ'),
+ ('ƈ', 'ƈ'),
+ ('ƌ', 'ƌ'),
+ ('ƒ', 'ƒ'),
+ ('ƕ', 'ƕ'),
+ ('ƙ', 'ƚ'),
+ ('ƞ', 'ƞ'),
+ ('ơ', 'ơ'),
+ ('ƣ', 'ƣ'),
+ ('ƥ', 'ƥ'),
+ ('ƨ', 'ƨ'),
+ ('ƭ', 'ƭ'),
+ ('ư', 'ư'),
+ ('ƴ', 'ƴ'),
+ ('ƶ', 'ƶ'),
+ ('ƹ', 'ƹ'),
+ ('ƽ', 'ƽ'),
+ ('ƿ', 'ƿ'),
+ ('Dž', 'dž'),
+ ('Lj', 'lj'),
+ ('Nj', 'nj'),
+ ('ǎ', 'ǎ'),
+ ('ǐ', 'ǐ'),
+ ('ǒ', 'ǒ'),
+ ('ǔ', 'ǔ'),
+ ('ǖ', 'ǖ'),
+ ('ǘ', 'ǘ'),
+ ('ǚ', 'ǚ'),
+ ('ǜ', 'ǝ'),
+ ('ǟ', 'ǟ'),
+ ('ǡ', 'ǡ'),
+ ('ǣ', 'ǣ'),
+ ('ǥ', 'ǥ'),
+ ('ǧ', 'ǧ'),
+ ('ǩ', 'ǩ'),
+ ('ǫ', 'ǫ'),
+ ('ǭ', 'ǭ'),
+ ('ǯ', 'ǰ'),
+ ('Dz', 'dz'),
+ ('ǵ', 'ǵ'),
+ ('ǹ', 'ǹ'),
+ ('ǻ', 'ǻ'),
+ ('ǽ', 'ǽ'),
+ ('ǿ', 'ǿ'),
+ ('ȁ', 'ȁ'),
+ ('ȃ', 'ȃ'),
+ ('ȅ', 'ȅ'),
+ ('ȇ', 'ȇ'),
+ ('ȉ', 'ȉ'),
+ ('ȋ', 'ȋ'),
+ ('ȍ', 'ȍ'),
+ ('ȏ', 'ȏ'),
+ ('ȑ', 'ȑ'),
+ ('ȓ', 'ȓ'),
+ ('ȕ', 'ȕ'),
+ ('ȗ', 'ȗ'),
+ ('ș', 'ș'),
+ ('ț', 'ț'),
+ ('ȝ', 'ȝ'),
+ ('ȟ', 'ȟ'),
+ ('ȣ', 'ȣ'),
+ ('ȥ', 'ȥ'),
+ ('ȧ', 'ȧ'),
+ ('ȩ', 'ȩ'),
+ ('ȫ', 'ȫ'),
+ ('ȭ', 'ȭ'),
+ ('ȯ', 'ȯ'),
+ ('ȱ', 'ȱ'),
+ ('ȳ', 'ȳ'),
+ ('ȼ', 'ȼ'),
+ ('ȿ', 'ɀ'),
+ ('ɂ', 'ɂ'),
+ ('ɇ', 'ɇ'),
+ ('ɉ', 'ɉ'),
+ ('ɋ', 'ɋ'),
+ ('ɍ', 'ɍ'),
+ ('ɏ', 'ɔ'),
+ ('ɖ', 'ɗ'),
+ ('ə', 'ə'),
+ ('ɛ', 'ɜ'),
+ ('ɠ', 'ɡ'),
+ ('ɣ', 'ɣ'),
+ ('ɥ', 'ɦ'),
+ ('ɨ', 'ɬ'),
+ ('ɯ', 'ɯ'),
+ ('ɱ', 'ɲ'),
+ ('ɵ', 'ɵ'),
+ ('ɽ', 'ɽ'),
+ ('ʀ', 'ʀ'),
+ ('ʂ', 'ʃ'),
+ ('ʇ', 'ʌ'),
+ ('ʒ', 'ʒ'),
+ ('ʝ', 'ʞ'),
+ ('\u{345}', '\u{345}'),
+ ('ͱ', 'ͱ'),
+ ('ͳ', 'ͳ'),
+ ('ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('ΐ', 'ΐ'),
+ ('ά', 'ώ'),
+ ('ϐ', 'ϑ'),
+ ('ϕ', 'ϗ'),
+ ('ϙ', 'ϙ'),
+ ('ϛ', 'ϛ'),
+ ('ϝ', 'ϝ'),
+ ('ϟ', 'ϟ'),
+ ('ϡ', 'ϡ'),
+ ('ϣ', 'ϣ'),
+ ('ϥ', 'ϥ'),
+ ('ϧ', 'ϧ'),
+ ('ϩ', 'ϩ'),
+ ('ϫ', 'ϫ'),
+ ('ϭ', 'ϭ'),
+ ('ϯ', 'ϳ'),
+ ('ϵ', 'ϵ'),
+ ('ϸ', 'ϸ'),
+ ('ϻ', 'ϻ'),
+ ('а', 'џ'),
+ ('ѡ', 'ѡ'),
+ ('ѣ', 'ѣ'),
+ ('ѥ', 'ѥ'),
+ ('ѧ', 'ѧ'),
+ ('ѩ', 'ѩ'),
+ ('ѫ', 'ѫ'),
+ ('ѭ', 'ѭ'),
+ ('ѯ', 'ѯ'),
+ ('ѱ', 'ѱ'),
+ ('ѳ', 'ѳ'),
+ ('ѵ', 'ѵ'),
+ ('ѷ', 'ѷ'),
+ ('ѹ', 'ѹ'),
+ ('ѻ', 'ѻ'),
+ ('ѽ', 'ѽ'),
+ ('ѿ', 'ѿ'),
+ ('ҁ', 'ҁ'),
+ ('ҋ', 'ҋ'),
+ ('ҍ', 'ҍ'),
+ ('ҏ', 'ҏ'),
+ ('ґ', 'ґ'),
+ ('ғ', 'ғ'),
+ ('ҕ', 'ҕ'),
+ ('җ', 'җ'),
+ ('ҙ', 'ҙ'),
+ ('қ', 'қ'),
+ ('ҝ', 'ҝ'),
+ ('ҟ', 'ҟ'),
+ ('ҡ', 'ҡ'),
+ ('ң', 'ң'),
+ ('ҥ', 'ҥ'),
+ ('ҧ', 'ҧ'),
+ ('ҩ', 'ҩ'),
+ ('ҫ', 'ҫ'),
+ ('ҭ', 'ҭ'),
+ ('ү', 'ү'),
+ ('ұ', 'ұ'),
+ ('ҳ', 'ҳ'),
+ ('ҵ', 'ҵ'),
+ ('ҷ', 'ҷ'),
+ ('ҹ', 'ҹ'),
+ ('һ', 'һ'),
+ ('ҽ', 'ҽ'),
+ ('ҿ', 'ҿ'),
+ ('ӂ', 'ӂ'),
+ ('ӄ', 'ӄ'),
+ ('ӆ', 'ӆ'),
+ ('ӈ', 'ӈ'),
+ ('ӊ', 'ӊ'),
+ ('ӌ', 'ӌ'),
+ ('ӎ', 'ӏ'),
+ ('ӑ', 'ӑ'),
+ ('ӓ', 'ӓ'),
+ ('ӕ', 'ӕ'),
+ ('ӗ', 'ӗ'),
+ ('ә', 'ә'),
+ ('ӛ', 'ӛ'),
+ ('ӝ', 'ӝ'),
+ ('ӟ', 'ӟ'),
+ ('ӡ', 'ӡ'),
+ ('ӣ', 'ӣ'),
+ ('ӥ', 'ӥ'),
+ ('ӧ', 'ӧ'),
+ ('ө', 'ө'),
+ ('ӫ', 'ӫ'),
+ ('ӭ', 'ӭ'),
+ ('ӯ', 'ӯ'),
+ ('ӱ', 'ӱ'),
+ ('ӳ', 'ӳ'),
+ ('ӵ', 'ӵ'),
+ ('ӷ', 'ӷ'),
+ ('ӹ', 'ӹ'),
+ ('ӻ', 'ӻ'),
+ ('ӽ', 'ӽ'),
+ ('ӿ', 'ӿ'),
+ ('ԁ', 'ԁ'),
+ ('ԃ', 'ԃ'),
+ ('ԅ', 'ԅ'),
+ ('ԇ', 'ԇ'),
+ ('ԉ', 'ԉ'),
+ ('ԋ', 'ԋ'),
+ ('ԍ', 'ԍ'),
+ ('ԏ', 'ԏ'),
+ ('ԑ', 'ԑ'),
+ ('ԓ', 'ԓ'),
+ ('ԕ', 'ԕ'),
+ ('ԗ', 'ԗ'),
+ ('ԙ', 'ԙ'),
+ ('ԛ', 'ԛ'),
+ ('ԝ', 'ԝ'),
+ ('ԟ', 'ԟ'),
+ ('ԡ', 'ԡ'),
+ ('ԣ', 'ԣ'),
+ ('ԥ', 'ԥ'),
+ ('ԧ', 'ԧ'),
+ ('ԩ', 'ԩ'),
+ ('ԫ', 'ԫ'),
+ ('ԭ', 'ԭ'),
+ ('ԯ', 'ԯ'),
+ ('ա', 'և'),
+ ('ა', 'ჺ'),
+ ('ჽ', 'ჿ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᵹ', 'ᵹ'),
+ ('ᵽ', 'ᵽ'),
+ ('ᶎ', 'ᶎ'),
+ ('ḁ', 'ḁ'),
+ ('ḃ', 'ḃ'),
+ ('ḅ', 'ḅ'),
+ ('ḇ', 'ḇ'),
+ ('ḉ', 'ḉ'),
+ ('ḋ', 'ḋ'),
+ ('ḍ', 'ḍ'),
+ ('ḏ', 'ḏ'),
+ ('ḑ', 'ḑ'),
+ ('ḓ', 'ḓ'),
+ ('ḕ', 'ḕ'),
+ ('ḗ', 'ḗ'),
+ ('ḙ', 'ḙ'),
+ ('ḛ', 'ḛ'),
+ ('ḝ', 'ḝ'),
+ ('ḟ', 'ḟ'),
+ ('ḡ', 'ḡ'),
+ ('ḣ', 'ḣ'),
+ ('ḥ', 'ḥ'),
+ ('ḧ', 'ḧ'),
+ ('ḩ', 'ḩ'),
+ ('ḫ', 'ḫ'),
+ ('ḭ', 'ḭ'),
+ ('ḯ', 'ḯ'),
+ ('ḱ', 'ḱ'),
+ ('ḳ', 'ḳ'),
+ ('ḵ', 'ḵ'),
+ ('ḷ', 'ḷ'),
+ ('ḹ', 'ḹ'),
+ ('ḻ', 'ḻ'),
+ ('ḽ', 'ḽ'),
+ ('ḿ', 'ḿ'),
+ ('ṁ', 'ṁ'),
+ ('ṃ', 'ṃ'),
+ ('ṅ', 'ṅ'),
+ ('ṇ', 'ṇ'),
+ ('ṉ', 'ṉ'),
+ ('ṋ', 'ṋ'),
+ ('ṍ', 'ṍ'),
+ ('ṏ', 'ṏ'),
+ ('ṑ', 'ṑ'),
+ ('ṓ', 'ṓ'),
+ ('ṕ', 'ṕ'),
+ ('ṗ', 'ṗ'),
+ ('ṙ', 'ṙ'),
+ ('ṛ', 'ṛ'),
+ ('ṝ', 'ṝ'),
+ ('ṟ', 'ṟ'),
+ ('ṡ', 'ṡ'),
+ ('ṣ', 'ṣ'),
+ ('ṥ', 'ṥ'),
+ ('ṧ', 'ṧ'),
+ ('ṩ', 'ṩ'),
+ ('ṫ', 'ṫ'),
+ ('ṭ', 'ṭ'),
+ ('ṯ', 'ṯ'),
+ ('ṱ', 'ṱ'),
+ ('ṳ', 'ṳ'),
+ ('ṵ', 'ṵ'),
+ ('ṷ', 'ṷ'),
+ ('ṹ', 'ṹ'),
+ ('ṻ', 'ṻ'),
+ ('ṽ', 'ṽ'),
+ ('ṿ', 'ṿ'),
+ ('ẁ', 'ẁ'),
+ ('ẃ', 'ẃ'),
+ ('ẅ', 'ẅ'),
+ ('ẇ', 'ẇ'),
+ ('ẉ', 'ẉ'),
+ ('ẋ', 'ẋ'),
+ ('ẍ', 'ẍ'),
+ ('ẏ', 'ẏ'),
+ ('ẑ', 'ẑ'),
+ ('ẓ', 'ẓ'),
+ ('ẕ', 'ẛ'),
+ ('ạ', 'ạ'),
+ ('ả', 'ả'),
+ ('ấ', 'ấ'),
+ ('ầ', 'ầ'),
+ ('ẩ', 'ẩ'),
+ ('ẫ', 'ẫ'),
+ ('ậ', 'ậ'),
+ ('ắ', 'ắ'),
+ ('ằ', 'ằ'),
+ ('ẳ', 'ẳ'),
+ ('ẵ', 'ẵ'),
+ ('ặ', 'ặ'),
+ ('ẹ', 'ẹ'),
+ ('ẻ', 'ẻ'),
+ ('ẽ', 'ẽ'),
+ ('ế', 'ế'),
+ ('ề', 'ề'),
+ ('ể', 'ể'),
+ ('ễ', 'ễ'),
+ ('ệ', 'ệ'),
+ ('ỉ', 'ỉ'),
+ ('ị', 'ị'),
+ ('ọ', 'ọ'),
+ ('ỏ', 'ỏ'),
+ ('ố', 'ố'),
+ ('ồ', 'ồ'),
+ ('ổ', 'ổ'),
+ ('ỗ', 'ỗ'),
+ ('ộ', 'ộ'),
+ ('ớ', 'ớ'),
+ ('ờ', 'ờ'),
+ ('ở', 'ở'),
+ ('ỡ', 'ỡ'),
+ ('ợ', 'ợ'),
+ ('ụ', 'ụ'),
+ ('ủ', 'ủ'),
+ ('ứ', 'ứ'),
+ ('ừ', 'ừ'),
+ ('ử', 'ử'),
+ ('ữ', 'ữ'),
+ ('ự', 'ự'),
+ ('ỳ', 'ỳ'),
+ ('ỵ', 'ỵ'),
+ ('ỷ', 'ỷ'),
+ ('ỹ', 'ỹ'),
+ ('ỻ', 'ỻ'),
+ ('ỽ', 'ỽ'),
+ ('ỿ', 'ἇ'),
+ ('ἐ', 'ἕ'),
+ ('ἠ', 'ἧ'),
+ ('ἰ', 'ἷ'),
+ ('ὀ', 'ὅ'),
+ ('ὐ', 'ὗ'),
+ ('ὠ', 'ὧ'),
+ ('ὰ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾷ'),
+ ('ᾼ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῇ'),
+ ('ῌ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'ῗ'),
+ ('ῠ', 'ῧ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῷ'),
+ ('ῼ', 'ῼ'),
+ ('ⅎ', 'ⅎ'),
+ ('ⅰ', 'ⅿ'),
+ ('ↄ', 'ↄ'),
+ ('ⓐ', 'ⓩ'),
+ ('ⰰ', 'ⱟ'),
+ ('ⱡ', 'ⱡ'),
+ ('ⱥ', 'ⱦ'),
+ ('ⱨ', 'ⱨ'),
+ ('ⱪ', 'ⱪ'),
+ ('ⱬ', 'ⱬ'),
+ ('ⱳ', 'ⱳ'),
+ ('ⱶ', 'ⱶ'),
+ ('ⲁ', 'ⲁ'),
+ ('ⲃ', 'ⲃ'),
+ ('ⲅ', 'ⲅ'),
+ ('ⲇ', 'ⲇ'),
+ ('ⲉ', 'ⲉ'),
+ ('ⲋ', 'ⲋ'),
+ ('ⲍ', 'ⲍ'),
+ ('ⲏ', 'ⲏ'),
+ ('ⲑ', 'ⲑ'),
+ ('ⲓ', 'ⲓ'),
+ ('ⲕ', 'ⲕ'),
+ ('ⲗ', 'ⲗ'),
+ ('ⲙ', 'ⲙ'),
+ ('ⲛ', 'ⲛ'),
+ ('ⲝ', 'ⲝ'),
+ ('ⲟ', 'ⲟ'),
+ ('ⲡ', 'ⲡ'),
+ ('ⲣ', 'ⲣ'),
+ ('ⲥ', 'ⲥ'),
+ ('ⲧ', 'ⲧ'),
+ ('ⲩ', 'ⲩ'),
+ ('ⲫ', 'ⲫ'),
+ ('ⲭ', 'ⲭ'),
+ ('ⲯ', 'ⲯ'),
+ ('ⲱ', 'ⲱ'),
+ ('ⲳ', 'ⲳ'),
+ ('ⲵ', 'ⲵ'),
+ ('ⲷ', 'ⲷ'),
+ ('ⲹ', 'ⲹ'),
+ ('ⲻ', 'ⲻ'),
+ ('ⲽ', 'ⲽ'),
+ ('ⲿ', 'ⲿ'),
+ ('ⳁ', 'ⳁ'),
+ ('ⳃ', 'ⳃ'),
+ ('ⳅ', 'ⳅ'),
+ ('ⳇ', 'ⳇ'),
+ ('ⳉ', 'ⳉ'),
+ ('ⳋ', 'ⳋ'),
+ ('ⳍ', 'ⳍ'),
+ ('ⳏ', 'ⳏ'),
+ ('ⳑ', 'ⳑ'),
+ ('ⳓ', 'ⳓ'),
+ ('ⳕ', 'ⳕ'),
+ ('ⳗ', 'ⳗ'),
+ ('ⳙ', 'ⳙ'),
+ ('ⳛ', 'ⳛ'),
+ ('ⳝ', 'ⳝ'),
+ ('ⳟ', 'ⳟ'),
+ ('ⳡ', 'ⳡ'),
+ ('ⳣ', 'ⳣ'),
+ ('ⳬ', 'ⳬ'),
+ ('ⳮ', 'ⳮ'),
+ ('ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ꙁ', 'ꙁ'),
+ ('ꙃ', 'ꙃ'),
+ ('ꙅ', 'ꙅ'),
+ ('ꙇ', 'ꙇ'),
+ ('ꙉ', 'ꙉ'),
+ ('ꙋ', 'ꙋ'),
+ ('ꙍ', 'ꙍ'),
+ ('ꙏ', 'ꙏ'),
+ ('ꙑ', 'ꙑ'),
+ ('ꙓ', 'ꙓ'),
+ ('ꙕ', 'ꙕ'),
+ ('ꙗ', 'ꙗ'),
+ ('ꙙ', 'ꙙ'),
+ ('ꙛ', 'ꙛ'),
+ ('ꙝ', 'ꙝ'),
+ ('ꙟ', 'ꙟ'),
+ ('ꙡ', 'ꙡ'),
+ ('ꙣ', 'ꙣ'),
+ ('ꙥ', 'ꙥ'),
+ ('ꙧ', 'ꙧ'),
+ ('ꙩ', 'ꙩ'),
+ ('ꙫ', 'ꙫ'),
+ ('ꙭ', 'ꙭ'),
+ ('ꚁ', 'ꚁ'),
+ ('ꚃ', 'ꚃ'),
+ ('ꚅ', 'ꚅ'),
+ ('ꚇ', 'ꚇ'),
+ ('ꚉ', 'ꚉ'),
+ ('ꚋ', 'ꚋ'),
+ ('ꚍ', 'ꚍ'),
+ ('ꚏ', 'ꚏ'),
+ ('ꚑ', 'ꚑ'),
+ ('ꚓ', 'ꚓ'),
+ ('ꚕ', 'ꚕ'),
+ ('ꚗ', 'ꚗ'),
+ ('ꚙ', 'ꚙ'),
+ ('ꚛ', 'ꚛ'),
+ ('ꜣ', 'ꜣ'),
+ ('ꜥ', 'ꜥ'),
+ ('ꜧ', 'ꜧ'),
+ ('ꜩ', 'ꜩ'),
+ ('ꜫ', 'ꜫ'),
+ ('ꜭ', 'ꜭ'),
+ ('ꜯ', 'ꜯ'),
+ ('ꜳ', 'ꜳ'),
+ ('ꜵ', 'ꜵ'),
+ ('ꜷ', 'ꜷ'),
+ ('ꜹ', 'ꜹ'),
+ ('ꜻ', 'ꜻ'),
+ ('ꜽ', 'ꜽ'),
+ ('ꜿ', 'ꜿ'),
+ ('ꝁ', 'ꝁ'),
+ ('ꝃ', 'ꝃ'),
+ ('ꝅ', 'ꝅ'),
+ ('ꝇ', 'ꝇ'),
+ ('ꝉ', 'ꝉ'),
+ ('ꝋ', 'ꝋ'),
+ ('ꝍ', 'ꝍ'),
+ ('ꝏ', 'ꝏ'),
+ ('ꝑ', 'ꝑ'),
+ ('ꝓ', 'ꝓ'),
+ ('ꝕ', 'ꝕ'),
+ ('ꝗ', 'ꝗ'),
+ ('ꝙ', 'ꝙ'),
+ ('ꝛ', 'ꝛ'),
+ ('ꝝ', 'ꝝ'),
+ ('ꝟ', 'ꝟ'),
+ ('ꝡ', 'ꝡ'),
+ ('ꝣ', 'ꝣ'),
+ ('ꝥ', 'ꝥ'),
+ ('ꝧ', 'ꝧ'),
+ ('ꝩ', 'ꝩ'),
+ ('ꝫ', 'ꝫ'),
+ ('ꝭ', 'ꝭ'),
+ ('ꝯ', 'ꝯ'),
+ ('ꝺ', 'ꝺ'),
+ ('ꝼ', 'ꝼ'),
+ ('ꝿ', 'ꝿ'),
+ ('ꞁ', 'ꞁ'),
+ ('ꞃ', 'ꞃ'),
+ ('ꞅ', 'ꞅ'),
+ ('ꞇ', 'ꞇ'),
+ ('ꞌ', 'ꞌ'),
+ ('ꞑ', 'ꞑ'),
+ ('ꞓ', 'ꞔ'),
+ ('ꞗ', 'ꞗ'),
+ ('ꞙ', 'ꞙ'),
+ ('ꞛ', 'ꞛ'),
+ ('ꞝ', 'ꞝ'),
+ ('ꞟ', 'ꞟ'),
+ ('ꞡ', 'ꞡ'),
+ ('ꞣ', 'ꞣ'),
+ ('ꞥ', 'ꞥ'),
+ ('ꞧ', 'ꞧ'),
+ ('ꞩ', 'ꞩ'),
+ ('ꞵ', 'ꞵ'),
+ ('ꞷ', 'ꞷ'),
+ ('ꞹ', 'ꞹ'),
+ ('ꞻ', 'ꞻ'),
+ ('ꞽ', 'ꞽ'),
+ ('ꞿ', 'ꞿ'),
+ ('ꟁ', 'ꟁ'),
+ ('ꟃ', 'ꟃ'),
+ ('ꟈ', 'ꟈ'),
+ ('ꟊ', 'ꟊ'),
+ ('ꟑ', 'ꟑ'),
+ ('ꟗ', 'ꟗ'),
+ ('ꟙ', 'ꟙ'),
+ ('ꟶ', 'ꟶ'),
+ ('ꭓ', 'ꭓ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('a', 'z'),
+ ('𐐨', '𐑏'),
+ ('𐓘', '𐓻'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐳀', '𐳲'),
+ ('𑣀', '𑣟'),
+ ('𖹠', '𖹿'),
+ ('𞤢', '𞥃'),
+];
+
+pub const DASH: &'static [(char, char)] = &[
+ ('-', '-'),
+ ('֊', '֊'),
+ ('־', '־'),
+ ('᐀', '᐀'),
+ ('᠆', '᠆'),
+ ('‐', '―'),
+ ('⁓', '⁓'),
+ ('⁻', '⁻'),
+ ('₋', '₋'),
+ ('−', '−'),
+ ('⸗', '⸗'),
+ ('⸚', '⸚'),
+ ('⸺', '⸻'),
+ ('⹀', '⹀'),
+ ('⹝', '⹝'),
+ ('〜', '〜'),
+ ('〰', '〰'),
+ ('゠', '゠'),
+ ('︱', '︲'),
+ ('﹘', '﹘'),
+ ('﹣', '﹣'),
+ ('-', '-'),
+ ('𐺭', '𐺭'),
+];
+
+pub const DEFAULT_IGNORABLE_CODE_POINT: &'static [(char, char)] = &[
+ ('\u{ad}', '\u{ad}'),
+ ('\u{34f}', '\u{34f}'),
+ ('\u{61c}', '\u{61c}'),
+ ('ᅟ', 'ᅠ'),
+ ('\u{17b4}', '\u{17b5}'),
+ ('\u{180b}', '\u{180f}'),
+ ('\u{200b}', '\u{200f}'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2060}', '\u{206f}'),
+ ('ㅤ', 'ㅤ'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{feff}', '\u{feff}'),
+ ('ᅠ', 'ᅠ'),
+ ('\u{fff0}', '\u{fff8}'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('\u{1d173}', '\u{1d17a}'),
+ ('\u{e0000}', '\u{e0fff}'),
+];
+
+pub const DEPRECATED: &'static [(char, char)] = &[
+ ('ʼn', 'ʼn'),
+ ('ٳ', 'ٳ'),
+ ('\u{f77}', '\u{f77}'),
+ ('\u{f79}', '\u{f79}'),
+ ('ឣ', 'ឤ'),
+ ('\u{206a}', '\u{206f}'),
+ ('〈', '〉'),
+ ('\u{e0001}', '\u{e0001}'),
+];
+
+pub const DIACRITIC: &'static [(char, char)] = &[
+ ('^', '^'),
+ ('`', '`'),
+ ('¨', '¨'),
+ ('¯', '¯'),
+ ('´', '´'),
+ ('·', '¸'),
+ ('ʰ', '\u{34e}'),
+ ('\u{350}', '\u{357}'),
+ ('\u{35d}', '\u{362}'),
+ ('ʹ', '͵'),
+ ('ͺ', 'ͺ'),
+ ('΄', '΅'),
+ ('\u{483}', '\u{487}'),
+ ('ՙ', 'ՙ'),
+ ('\u{591}', '\u{5a1}'),
+ ('\u{5a3}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c4}'),
+ ('\u{64b}', '\u{652}'),
+ ('\u{657}', '\u{658}'),
+ ('\u{6df}', '\u{6e0}'),
+ ('ۥ', 'ۦ'),
+ ('\u{6ea}', '\u{6ec}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', 'ߵ'),
+ ('\u{818}', '\u{819}'),
+ ('\u{898}', '\u{89f}'),
+ ('ࣉ', '\u{8d2}'),
+ ('\u{8e3}', '\u{8fe}'),
+ ('\u{93c}', '\u{93c}'),
+ ('\u{94d}', '\u{94d}'),
+ ('\u{951}', '\u{954}'),
+ ('ॱ', 'ॱ'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9cd}', '\u{9cd}'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('\u{a4d}', '\u{a4d}'),
+ ('\u{abc}', '\u{abc}'),
+ ('\u{acd}', '\u{acd}'),
+ ('\u{afd}', '\u{aff}'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b4d}', '\u{b4d}'),
+ ('\u{b55}', '\u{b55}'),
+ ('\u{bcd}', '\u{bcd}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c4d}', '\u{c4d}'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('\u{ccd}', '\u{ccd}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d4d}', '\u{d4d}'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{e47}', '\u{e4c}'),
+ ('\u{e4e}', '\u{e4e}'),
+ ('\u{eba}', '\u{eba}'),
+ ('\u{ec8}', '\u{ecc}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', '༿'),
+ ('\u{f82}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('\u{1037}', '\u{1037}'),
+ ('\u{1039}', '\u{103a}'),
+ ('ၣ', 'ၤ'),
+ ('ၩ', 'ၭ'),
+ ('ႇ', '\u{108d}'),
+ ('ႏ', 'ႏ'),
+ ('ႚ', 'ႛ'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1714}', '᜕'),
+ ('\u{17c9}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{1939}', '\u{193b}'),
+ ('\u{1a75}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1abe}'),
+ ('\u{1ac1}', '\u{1acb}'),
+ ('\u{1b34}', '\u{1b34}'),
+ ('᭄', '᭄'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('᮪', '\u{1bab}'),
+ ('\u{1c36}', '\u{1c37}'),
+ ('ᱸ', 'ᱽ'),
+ ('\u{1cd0}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('᳷', '\u{1cf9}'),
+ ('ᴬ', 'ᵪ'),
+ ('\u{1dc4}', '\u{1dcf}'),
+ ('\u{1df5}', '\u{1dff}'),
+ ('᾽', '᾽'),
+ ('᾿', '῁'),
+ ('῍', '῏'),
+ ('῝', '῟'),
+ ('῭', '`'),
+ ('´', '῾'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('ⸯ', 'ⸯ'),
+ ('\u{302a}', '\u{302f}'),
+ ('\u{3099}', '゜'),
+ ('ー', 'ー'),
+ ('\u{a66f}', '\u{a66f}'),
+ ('\u{a67c}', '\u{a67d}'),
+ ('ꙿ', 'ꙿ'),
+ ('ꚜ', 'ꚝ'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('꜀', '꜡'),
+ ('ꞈ', '꞊'),
+ ('ꟸ', 'ꟹ'),
+ ('\u{a8c4}', '\u{a8c4}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a92b}', '꤮'),
+ ('꥓', '꥓'),
+ ('\u{a9b3}', '\u{a9b3}'),
+ ('꧀', '꧀'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('ꩻ', 'ꩽ'),
+ ('\u{aabf}', 'ꫂ'),
+ ('\u{aaf6}', '\u{aaf6}'),
+ ('꭛', 'ꭟ'),
+ ('ꭩ', '꭫'),
+ ('꯬', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('^', '^'),
+ ('`', '`'),
+ ('ー', 'ー'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ (' ̄', ' ̄'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('𐴢', '\u{10d27}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('\u{11046}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{110b9}', '\u{110ba}'),
+ ('\u{11133}', '\u{11134}'),
+ ('\u{11173}', '\u{11173}'),
+ ('𑇀', '𑇀'),
+ ('\u{111ca}', '\u{111cc}'),
+ ('𑈵', '\u{11236}'),
+ ('\u{112e9}', '\u{112ea}'),
+ ('\u{1133c}', '\u{1133c}'),
+ ('𑍍', '𑍍'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('\u{11442}', '\u{11442}'),
+ ('\u{11446}', '\u{11446}'),
+ ('\u{114c2}', '\u{114c3}'),
+ ('\u{115bf}', '\u{115c0}'),
+ ('\u{1163f}', '\u{1163f}'),
+ ('𑚶', '\u{116b7}'),
+ ('\u{1172b}', '\u{1172b}'),
+ ('\u{11839}', '\u{1183a}'),
+ ('𑤽', '\u{1193e}'),
+ ('\u{11943}', '\u{11943}'),
+ ('\u{119e0}', '\u{119e0}'),
+ ('\u{11a34}', '\u{11a34}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a99}', '\u{11a99}'),
+ ('\u{11c3f}', '\u{11c3f}'),
+ ('\u{11d42}', '\u{11d42}'),
+ ('\u{11d44}', '\u{11d45}'),
+ ('\u{11d97}', '\u{11d97}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f8f}', '𖾟'),
+ ('𖿰', '𖿱'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e946}'),
+ ('\u{1e948}', '\u{1e94a}'),
+];
+
+pub const EMOJI: &'static [(char, char)] = &[
+ ('#', '#'),
+ ('*', '*'),
+ ('0', '9'),
+ ('©', '©'),
+ ('®', '®'),
+ ('‼', '‼'),
+ ('⁉', '⁉'),
+ ('™', '™'),
+ ('ℹ', 'ℹ'),
+ ('↔', '↙'),
+ ('↩', '↪'),
+ ('⌚', '⌛'),
+ ('⌨', '⌨'),
+ ('⏏', '⏏'),
+ ('⏩', '⏳'),
+ ('⏸', '⏺'),
+ ('Ⓜ', 'Ⓜ'),
+ ('▪', '▫'),
+ ('▶', '▶'),
+ ('◀', '◀'),
+ ('◻', '◾'),
+ ('☀', '☄'),
+ ('☎', '☎'),
+ ('☑', '☑'),
+ ('☔', '☕'),
+ ('☘', '☘'),
+ ('☝', '☝'),
+ ('☠', '☠'),
+ ('☢', '☣'),
+ ('☦', '☦'),
+ ('☪', '☪'),
+ ('☮', '☯'),
+ ('☸', '☺'),
+ ('♀', '♀'),
+ ('♂', '♂'),
+ ('♈', '♓'),
+ ('♟', '♠'),
+ ('♣', '♣'),
+ ('♥', '♦'),
+ ('♨', '♨'),
+ ('♻', '♻'),
+ ('♾', '♿'),
+ ('⚒', '⚗'),
+ ('⚙', '⚙'),
+ ('⚛', '⚜'),
+ ('⚠', '⚡'),
+ ('⚧', '⚧'),
+ ('⚪', '⚫'),
+ ('⚰', '⚱'),
+ ('⚽', '⚾'),
+ ('⛄', '⛅'),
+ ('⛈', '⛈'),
+ ('⛎', '⛏'),
+ ('⛑', '⛑'),
+ ('⛓', '⛔'),
+ ('⛩', '⛪'),
+ ('⛰', '⛵'),
+ ('⛷', '⛺'),
+ ('⛽', '⛽'),
+ ('✂', '✂'),
+ ('✅', '✅'),
+ ('✈', '✍'),
+ ('✏', '✏'),
+ ('✒', '✒'),
+ ('✔', '✔'),
+ ('✖', '✖'),
+ ('✝', '✝'),
+ ('✡', '✡'),
+ ('✨', '✨'),
+ ('✳', '✴'),
+ ('❄', '❄'),
+ ('❇', '❇'),
+ ('❌', '❌'),
+ ('❎', '❎'),
+ ('❓', '❕'),
+ ('❗', '❗'),
+ ('❣', '❤'),
+ ('➕', '➗'),
+ ('➡', '➡'),
+ ('➰', '➰'),
+ ('➿', '➿'),
+ ('⤴', '⤵'),
+ ('⬅', '⬇'),
+ ('⬛', '⬜'),
+ ('⭐', '⭐'),
+ ('⭕', '⭕'),
+ ('〰', '〰'),
+ ('〽', '〽'),
+ ('㊗', '㊗'),
+ ('㊙', '㊙'),
+ ('🀄', '🀄'),
+ ('🃏', '🃏'),
+ ('🅰', '🅱'),
+ ('🅾', '🅿'),
+ ('🆎', '🆎'),
+ ('🆑', '🆚'),
+ ('🇦', '🇿'),
+ ('🈁', '🈂'),
+ ('🈚', '🈚'),
+ ('🈯', '🈯'),
+ ('🈲', '🈺'),
+ ('🉐', '🉑'),
+ ('🌀', '🌡'),
+ ('🌤', '🎓'),
+ ('🎖', '🎗'),
+ ('🎙', '🎛'),
+ ('🎞', '🏰'),
+ ('🏳', '🏵'),
+ ('🏷', '📽'),
+ ('📿', '🔽'),
+ ('🕉', '🕎'),
+ ('🕐', '🕧'),
+ ('🕯', '🕰'),
+ ('🕳', '🕺'),
+ ('🖇', '🖇'),
+ ('🖊', '🖍'),
+ ('🖐', '🖐'),
+ ('🖕', '🖖'),
+ ('🖤', '🖥'),
+ ('🖨', '🖨'),
+ ('🖱', '🖲'),
+ ('🖼', '🖼'),
+ ('🗂', '🗄'),
+ ('🗑', '🗓'),
+ ('🗜', '🗞'),
+ ('🗡', '🗡'),
+ ('🗣', '🗣'),
+ ('🗨', '🗨'),
+ ('🗯', '🗯'),
+ ('🗳', '🗳'),
+ ('🗺', '🙏'),
+ ('🚀', '🛅'),
+ ('🛋', '🛒'),
+ ('🛕', '🛗'),
+ ('🛜', '🛥'),
+ ('🛩', '🛩'),
+ ('🛫', '🛬'),
+ ('🛰', '🛰'),
+ ('🛳', '🛼'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🤌', '🤺'),
+ ('🤼', '🥅'),
+ ('🥇', '🧿'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+];
+
+pub const EMOJI_COMPONENT: &'static [(char, char)] = &[
+ ('#', '#'),
+ ('*', '*'),
+ ('0', '9'),
+ ('\u{200d}', '\u{200d}'),
+ ('\u{20e3}', '\u{20e3}'),
+ ('\u{fe0f}', '\u{fe0f}'),
+ ('🇦', '🇿'),
+ ('🏻', '🏿'),
+ ('🦰', '🦳'),
+ ('\u{e0020}', '\u{e007f}'),
+];
+
+pub const EMOJI_MODIFIER: &'static [(char, char)] = &[('🏻', '🏿')];
+
+pub const EMOJI_MODIFIER_BASE: &'static [(char, char)] = &[
+ ('☝', '☝'),
+ ('⛹', '⛹'),
+ ('✊', '✍'),
+ ('🎅', '🎅'),
+ ('🏂', '🏄'),
+ ('🏇', '🏇'),
+ ('🏊', '🏌'),
+ ('👂', '👃'),
+ ('👆', '👐'),
+ ('👦', '👸'),
+ ('👼', '👼'),
+ ('💁', '💃'),
+ ('💅', '💇'),
+ ('💏', '💏'),
+ ('💑', '💑'),
+ ('💪', '💪'),
+ ('🕴', '🕵'),
+ ('🕺', '🕺'),
+ ('🖐', '🖐'),
+ ('🖕', '🖖'),
+ ('🙅', '🙇'),
+ ('🙋', '🙏'),
+ ('🚣', '🚣'),
+ ('🚴', '🚶'),
+ ('🛀', '🛀'),
+ ('🛌', '🛌'),
+ ('🤌', '🤌'),
+ ('🤏', '🤏'),
+ ('🤘', '🤟'),
+ ('🤦', '🤦'),
+ ('🤰', '🤹'),
+ ('🤼', '🤾'),
+ ('🥷', '🥷'),
+ ('🦵', '🦶'),
+ ('🦸', '🦹'),
+ ('🦻', '🦻'),
+ ('🧍', '🧏'),
+ ('🧑', '🧝'),
+ ('🫃', '🫅'),
+ ('🫰', '🫸'),
+];
+
+pub const EMOJI_PRESENTATION: &'static [(char, char)] = &[
+ ('⌚', '⌛'),
+ ('⏩', '⏬'),
+ ('⏰', '⏰'),
+ ('⏳', '⏳'),
+ ('◽', '◾'),
+ ('☔', '☕'),
+ ('♈', '♓'),
+ ('♿', '♿'),
+ ('⚓', '⚓'),
+ ('⚡', '⚡'),
+ ('⚪', '⚫'),
+ ('⚽', '⚾'),
+ ('⛄', '⛅'),
+ ('⛎', '⛎'),
+ ('⛔', '⛔'),
+ ('⛪', '⛪'),
+ ('⛲', '⛳'),
+ ('⛵', '⛵'),
+ ('⛺', '⛺'),
+ ('⛽', '⛽'),
+ ('✅', '✅'),
+ ('✊', '✋'),
+ ('✨', '✨'),
+ ('❌', '❌'),
+ ('❎', '❎'),
+ ('❓', '❕'),
+ ('❗', '❗'),
+ ('➕', '➗'),
+ ('➰', '➰'),
+ ('➿', '➿'),
+ ('⬛', '⬜'),
+ ('⭐', '⭐'),
+ ('⭕', '⭕'),
+ ('🀄', '🀄'),
+ ('🃏', '🃏'),
+ ('🆎', '🆎'),
+ ('🆑', '🆚'),
+ ('🇦', '🇿'),
+ ('🈁', '🈁'),
+ ('🈚', '🈚'),
+ ('🈯', '🈯'),
+ ('🈲', '🈶'),
+ ('🈸', '🈺'),
+ ('🉐', '🉑'),
+ ('🌀', '🌠'),
+ ('🌭', '🌵'),
+ ('🌷', '🍼'),
+ ('🍾', '🎓'),
+ ('🎠', '🏊'),
+ ('🏏', '🏓'),
+ ('🏠', '🏰'),
+ ('🏴', '🏴'),
+ ('🏸', '🐾'),
+ ('👀', '👀'),
+ ('👂', '📼'),
+ ('📿', '🔽'),
+ ('🕋', '🕎'),
+ ('🕐', '🕧'),
+ ('🕺', '🕺'),
+ ('🖕', '🖖'),
+ ('🖤', '🖤'),
+ ('🗻', '🙏'),
+ ('🚀', '🛅'),
+ ('🛌', '🛌'),
+ ('🛐', '🛒'),
+ ('🛕', '🛗'),
+ ('🛜', '🛟'),
+ ('🛫', '🛬'),
+ ('🛴', '🛼'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🤌', '🤺'),
+ ('🤼', '🥅'),
+ ('🥇', '🧿'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+];
+
+pub const EXTENDED_PICTOGRAPHIC: &'static [(char, char)] = &[
+ ('©', '©'),
+ ('®', '®'),
+ ('‼', '‼'),
+ ('⁉', '⁉'),
+ ('™', '™'),
+ ('ℹ', 'ℹ'),
+ ('↔', '↙'),
+ ('↩', '↪'),
+ ('⌚', '⌛'),
+ ('⌨', '⌨'),
+ ('⎈', '⎈'),
+ ('⏏', '⏏'),
+ ('⏩', '⏳'),
+ ('⏸', '⏺'),
+ ('Ⓜ', 'Ⓜ'),
+ ('▪', '▫'),
+ ('▶', '▶'),
+ ('◀', '◀'),
+ ('◻', '◾'),
+ ('☀', '★'),
+ ('☇', '☒'),
+ ('☔', '⚅'),
+ ('⚐', '✅'),
+ ('✈', '✒'),
+ ('✔', '✔'),
+ ('✖', '✖'),
+ ('✝', '✝'),
+ ('✡', '✡'),
+ ('✨', '✨'),
+ ('✳', '✴'),
+ ('❄', '❄'),
+ ('❇', '❇'),
+ ('❌', '❌'),
+ ('❎', '❎'),
+ ('❓', '❕'),
+ ('❗', '❗'),
+ ('❣', '❧'),
+ ('➕', '➗'),
+ ('➡', '➡'),
+ ('➰', '➰'),
+ ('➿', '➿'),
+ ('⤴', '⤵'),
+ ('⬅', '⬇'),
+ ('⬛', '⬜'),
+ ('⭐', '⭐'),
+ ('⭕', '⭕'),
+ ('〰', '〰'),
+ ('〽', '〽'),
+ ('㊗', '㊗'),
+ ('㊙', '㊙'),
+ ('🀀', '\u{1f0ff}'),
+ ('🄍', '🄏'),
+ ('🄯', '🄯'),
+ ('🅬', '🅱'),
+ ('🅾', '🅿'),
+ ('🆎', '🆎'),
+ ('🆑', '🆚'),
+ ('🆭', '\u{1f1e5}'),
+ ('🈁', '\u{1f20f}'),
+ ('🈚', '🈚'),
+ ('🈯', '🈯'),
+ ('🈲', '🈺'),
+ ('\u{1f23c}', '\u{1f23f}'),
+ ('\u{1f249}', '🏺'),
+ ('🐀', '🔽'),
+ ('🕆', '🙏'),
+ ('🚀', '\u{1f6ff}'),
+ ('🝴', '🝿'),
+ ('🟕', '\u{1f7ff}'),
+ ('\u{1f80c}', '\u{1f80f}'),
+ ('\u{1f848}', '\u{1f84f}'),
+ ('\u{1f85a}', '\u{1f85f}'),
+ ('\u{1f888}', '\u{1f88f}'),
+ ('\u{1f8ae}', '\u{1f8ff}'),
+ ('🤌', '🤺'),
+ ('🤼', '🥅'),
+ ('🥇', '\u{1faff}'),
+ ('\u{1fc00}', '\u{1fffd}'),
+];
+
+pub const EXTENDER: &'static [(char, char)] = &[
+ ('·', '·'),
+ ('ː', 'ˑ'),
+ ('ـ', 'ـ'),
+ ('ߺ', 'ߺ'),
+ ('\u{b55}', '\u{b55}'),
+ ('ๆ', 'ๆ'),
+ ('ໆ', 'ໆ'),
+ ('᠊', '᠊'),
+ ('ᡃ', 'ᡃ'),
+ ('ᪧ', 'ᪧ'),
+ ('\u{1c36}', '\u{1c36}'),
+ ('ᱻ', 'ᱻ'),
+ ('々', '々'),
+ ('〱', '〵'),
+ ('ゝ', 'ゞ'),
+ ('ー', 'ヾ'),
+ ('ꀕ', 'ꀕ'),
+ ('ꘌ', 'ꘌ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧦ', 'ꧦ'),
+ ('ꩰ', 'ꩰ'),
+ ('ꫝ', 'ꫝ'),
+ ('ꫳ', 'ꫴ'),
+ ('ー', 'ー'),
+ ('𐞁', '𐞂'),
+ ('𑍝', '𑍝'),
+ ('𑗆', '𑗈'),
+ ('\u{11a98}', '\u{11a98}'),
+ ('𖭂', '𖭃'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𞄼', '𞄽'),
+ ('\u{1e944}', '\u{1e946}'),
+];
+
+pub const GRAPHEME_BASE: &'static [(char, char)] = &[
+ (' ', '~'),
+ ('\u{a0}', '¬'),
+ ('®', '˿'),
+ ('Ͱ', 'ͷ'),
+ ('ͺ', 'Ϳ'),
+ ('΄', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', '҂'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', '֊'),
+ ('֍', '֏'),
+ ('־', '־'),
+ ('׀', '׀'),
+ ('׃', '׃'),
+ ('׆', '׆'),
+ ('א', 'ת'),
+ ('ׯ', '״'),
+ ('؆', '؏'),
+ ('؛', '؛'),
+ ('؝', 'ي'),
+ ('٠', 'ٯ'),
+ ('ٱ', 'ە'),
+ ('۞', '۞'),
+ ('ۥ', 'ۦ'),
+ ('۩', '۩'),
+ ('ۮ', '܍'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('߀', 'ߪ'),
+ ('ߴ', 'ߺ'),
+ ('߾', 'ࠕ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('࠰', '࠾'),
+ ('ࡀ', 'ࡘ'),
+ ('࡞', '࡞'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('ः', 'ह'),
+ ('ऻ', 'ऻ'),
+ ('ऽ', 'ी'),
+ ('ॉ', 'ौ'),
+ ('ॎ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('।', 'ঀ'),
+ ('ং', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ি', 'ী'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৌ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('০', '৽'),
+ ('ਃ', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਾ', 'ੀ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', '੯'),
+ ('ੲ', 'ੴ'),
+ ('੶', '੶'),
+ ('ઃ', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ી'),
+ ('ૉ', 'ૉ'),
+ ('ો', 'ૌ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('૦', '૱'),
+ ('ૹ', 'ૹ'),
+ ('ଂ', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ୀ', 'ୀ'),
+ ('େ', 'ୈ'),
+ ('ୋ', 'ୌ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('୦', '୷'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ி', 'ி'),
+ ('ு', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', 'ௌ'),
+ ('ௐ', 'ௐ'),
+ ('௦', '௺'),
+ ('ఁ', 'ః'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ు', 'ౄ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('౦', '౯'),
+ ('౷', 'ಀ'),
+ ('ಂ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಾ'),
+ ('ೀ', 'ು'),
+ ('ೃ', 'ೄ'),
+ ('ೇ', 'ೈ'),
+ ('ೊ', 'ೋ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('೦', '೯'),
+ ('ೱ', 'ೳ'),
+ ('ം', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ി', 'ീ'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൌ'),
+ ('ൎ', '൏'),
+ ('ൔ', 'ൖ'),
+ ('൘', 'ൡ'),
+ ('൦', 'ൿ'),
+ ('ං', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ැ', 'ෑ'),
+ ('ෘ', 'ෞ'),
+ ('෦', '෯'),
+ ('ෲ', '෴'),
+ ('ก', 'ะ'),
+ ('า', 'ำ'),
+ ('฿', 'ๆ'),
+ ('๏', '๛'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ະ'),
+ ('າ', 'ຳ'),
+ ('ຽ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('໐', '໙'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', '༗'),
+ ('༚', '༴'),
+ ('༶', '༶'),
+ ('༸', '༸'),
+ ('༺', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ཿ', 'ཿ'),
+ ('྅', '྅'),
+ ('ྈ', 'ྌ'),
+ ('྾', '࿅'),
+ ('࿇', '࿌'),
+ ('࿎', '࿚'),
+ ('က', 'ာ'),
+ ('ေ', 'ေ'),
+ ('း', 'း'),
+ ('ျ', 'ြ'),
+ ('ဿ', 'ၗ'),
+ ('ၚ', 'ၝ'),
+ ('ၡ', 'ၰ'),
+ ('ၵ', 'ႁ'),
+ ('ႃ', 'ႄ'),
+ ('ႇ', 'ႌ'),
+ ('ႎ', 'ႜ'),
+ ('႞', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('፠', '፼'),
+ ('ᎀ', '᎙'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('᐀', '᚜'),
+ ('ᚠ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('᜕', '᜕'),
+ ('ᜟ', 'ᜱ'),
+ ('᜴', '᜶'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ក', 'ឳ'),
+ ('ា', 'ា'),
+ ('ើ', 'ៅ'),
+ ('ះ', 'ៈ'),
+ ('។', 'ៜ'),
+ ('០', '៩'),
+ ('៰', '៹'),
+ ('᠀', '᠊'),
+ ('᠐', '᠙'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢄ'),
+ ('ᢇ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᤣ', 'ᤦ'),
+ ('ᤩ', 'ᤫ'),
+ ('ᤰ', 'ᤱ'),
+ ('ᤳ', 'ᤸ'),
+ ('᥀', '᥀'),
+ ('᥄', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('᧐', '᧚'),
+ ('᧞', 'ᨖ'),
+ ('ᨙ', 'ᨚ'),
+ ('᨞', 'ᩕ'),
+ ('ᩗ', 'ᩗ'),
+ ('ᩡ', 'ᩡ'),
+ ('ᩣ', 'ᩤ'),
+ ('ᩭ', 'ᩲ'),
+ ('᪀', '᪉'),
+ ('᪐', '᪙'),
+ ('᪠', '᪭'),
+ ('ᬄ', 'ᬳ'),
+ ('ᬻ', 'ᬻ'),
+ ('ᬽ', 'ᭁ'),
+ ('ᭃ', 'ᭌ'),
+ ('᭐', '᭪'),
+ ('᭴', '᭾'),
+ ('ᮂ', 'ᮡ'),
+ ('ᮦ', 'ᮧ'),
+ ('᮪', '᮪'),
+ ('ᮮ', 'ᯥ'),
+ ('ᯧ', 'ᯧ'),
+ ('ᯪ', 'ᯬ'),
+ ('ᯮ', 'ᯮ'),
+ ('᯲', '᯳'),
+ ('᯼', 'ᰫ'),
+ ('ᰴ', 'ᰵ'),
+ ('᰻', '᱉'),
+ ('ᱍ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', '᳇'),
+ ('᳓', '᳓'),
+ ('᳡', '᳡'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', '᳷'),
+ ('ᳺ', 'ᳺ'),
+ ('ᴀ', 'ᶿ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ῄ'),
+ ('ῆ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('῝', '`'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', '῾'),
+ ('\u{2000}', '\u{200a}'),
+ ('‐', '‧'),
+ ('\u{202f}', '\u{205f}'),
+ ('⁰', 'ⁱ'),
+ ('⁴', '₎'),
+ ('ₐ', 'ₜ'),
+ ('₠', '⃀'),
+ ('℀', '↋'),
+ ('←', '␦'),
+ ('⑀', '⑊'),
+ ('①', '⭳'),
+ ('⭶', '⮕'),
+ ('⮗', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('⳹', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', '⵰'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('⸀', '⹝'),
+ ('⺀', '⺙'),
+ ('⺛', '⻳'),
+ ('⼀', '⿕'),
+ ('⿰', '⿻'),
+ ('\u{3000}', '〩'),
+ ('〰', '〿'),
+ ('ぁ', 'ゖ'),
+ ('゛', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('㆐', '㇣'),
+ ('ㇰ', '㈞'),
+ ('㈠', 'ꒌ'),
+ ('꒐', '꓆'),
+ ('ꓐ', 'ꘫ'),
+ ('Ꙁ', 'ꙮ'),
+ ('꙳', '꙳'),
+ ('꙾', 'ꚝ'),
+ ('ꚠ', 'ꛯ'),
+ ('꛲', '꛷'),
+ ('꜀', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠤ'),
+ ('ꠧ', '꠫'),
+ ('꠰', '꠹'),
+ ('ꡀ', '꡷'),
+ ('ꢀ', 'ꣃ'),
+ ('꣎', '꣙'),
+ ('ꣲ', 'ꣾ'),
+ ('꤀', 'ꤥ'),
+ ('꤮', 'ꥆ'),
+ ('ꥒ', '꥓'),
+ ('꥟', 'ꥼ'),
+ ('ꦃ', 'ꦲ'),
+ ('ꦴ', 'ꦵ'),
+ ('ꦺ', 'ꦻ'),
+ ('ꦾ', '꧍'),
+ ('ꧏ', '꧙'),
+ ('꧞', 'ꧤ'),
+ ('ꧦ', 'ꧾ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꨯ', 'ꨰ'),
+ ('ꨳ', 'ꨴ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꩍ', 'ꩍ'),
+ ('꩐', '꩙'),
+ ('꩜', 'ꩻ'),
+ ('ꩽ', 'ꪯ'),
+ ('ꪱ', 'ꪱ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪽ'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫫ'),
+ ('ꫮ', 'ꫵ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', '꭫'),
+ ('ꭰ', 'ꯤ'),
+ ('ꯦ', 'ꯧ'),
+ ('ꯩ', '꯬'),
+ ('꯰', '꯹'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', '﯂'),
+ ('ﯓ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('﷏', '﷏'),
+ ('ﷰ', '﷿'),
+ ('︐', '︙'),
+ ('︰', '﹒'),
+ ('﹔', '﹦'),
+ ('﹨', '﹫'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('!', 'ン'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('¢', '₩'),
+ ('│', '○'),
+ ('', '�'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐄀', '𐄂'),
+ ('𐄇', '𐄳'),
+ ('𐄷', '𐆎'),
+ ('𐆐', '𐆜'),
+ ('𐆠', '𐆠'),
+ ('𐇐', '𐇼'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐋡', '𐋻'),
+ ('𐌀', '𐌣'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎟', '𐏃'),
+ ('𐏈', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒠', '𐒩'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕯', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡗', '𐢞'),
+ ('𐢧', '𐢯'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐣻', '𐤛'),
+ ('𐤟', '𐤹'),
+ ('𐤿', '𐤿'),
+ ('𐦀', '𐦷'),
+ ('𐦼', '𐧏'),
+ ('𐧒', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩀', '𐩈'),
+ ('𐩐', '𐩘'),
+ ('𐩠', '𐪟'),
+ ('𐫀', '𐫤'),
+ ('𐫫', '𐫶'),
+ ('𐬀', '𐬵'),
+ ('𐬹', '𐭕'),
+ ('𐭘', '𐭲'),
+ ('𐭸', '𐮑'),
+ ('𐮙', '𐮜'),
+ ('𐮩', '𐮯'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐳺', '𐴣'),
+ ('𐴰', '𐴹'),
+ ('𐹠', '𐹾'),
+ ('𐺀', '𐺩'),
+ ('𐺭', '𐺭'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽑', '𐽙'),
+ ('𐽰', '𐾁'),
+ ('𐾆', '𐾉'),
+ ('𐾰', '𐿋'),
+ ('𐿠', '𐿶'),
+ ('𑀀', '𑀀'),
+ ('𑀂', '𑀷'),
+ ('𑁇', '𑁍'),
+ ('𑁒', '𑁯'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂂', '𑂲'),
+ ('𑂷', '𑂸'),
+ ('𑂻', '𑂼'),
+ ('𑂾', '𑃁'),
+ ('𑃐', '𑃨'),
+ ('𑃰', '𑃹'),
+ ('𑄃', '𑄦'),
+ ('𑄬', '𑄬'),
+ ('𑄶', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅴', '𑅶'),
+ ('𑆂', '𑆵'),
+ ('𑆿', '𑇈'),
+ ('𑇍', '𑇎'),
+ ('𑇐', '𑇟'),
+ ('𑇡', '𑇴'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈮'),
+ ('𑈲', '𑈳'),
+ ('𑈵', '𑈵'),
+ ('𑈸', '𑈽'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊩'),
+ ('𑊰', '𑋞'),
+ ('𑋠', '𑋢'),
+ ('𑋰', '𑋹'),
+ ('𑌂', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑌿', '𑌿'),
+ ('𑍁', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍣'),
+ ('𑐀', '𑐷'),
+ ('𑑀', '𑑁'),
+ ('𑑅', '𑑅'),
+ ('𑑇', '𑑛'),
+ ('𑑝', '𑑝'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑒱', '𑒲'),
+ ('𑒹', '𑒹'),
+ ('𑒻', '𑒼'),
+ ('𑒾', '𑒾'),
+ ('𑓁', '𑓁'),
+ ('𑓄', '𑓇'),
+ ('𑓐', '𑓙'),
+ ('𑖀', '𑖮'),
+ ('𑖰', '𑖱'),
+ ('𑖸', '𑖻'),
+ ('𑖾', '𑖾'),
+ ('𑗁', '𑗛'),
+ ('𑘀', '𑘲'),
+ ('𑘻', '𑘼'),
+ ('𑘾', '𑘾'),
+ ('𑙁', '𑙄'),
+ ('𑙐', '𑙙'),
+ ('𑙠', '𑙬'),
+ ('𑚀', '𑚪'),
+ ('𑚬', '𑚬'),
+ ('𑚮', '𑚯'),
+ ('𑚶', '𑚶'),
+ ('𑚸', '𑚹'),
+ ('𑛀', '𑛉'),
+ ('𑜀', '𑜚'),
+ ('𑜠', '𑜡'),
+ ('𑜦', '𑜦'),
+ ('𑜰', '𑝆'),
+ ('𑠀', '𑠮'),
+ ('𑠸', '𑠸'),
+ ('𑠻', '𑠻'),
+ ('𑢠', '𑣲'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤱', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('𑤽', '𑤽'),
+ ('𑤿', '𑥂'),
+ ('𑥄', '𑥆'),
+ ('𑥐', '𑥙'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧓'),
+ ('𑧜', '𑧟'),
+ ('𑧡', '𑧤'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨹', '𑨺'),
+ ('𑨿', '𑩆'),
+ ('𑩐', '𑩐'),
+ ('𑩗', '𑩘'),
+ ('𑩜', '𑪉'),
+ ('𑪗', '𑪗'),
+ ('𑪚', '𑪢'),
+ ('𑪰', '𑫸'),
+ ('𑬀', '𑬉'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰯'),
+ ('𑰾', '𑰾'),
+ ('𑱀', '𑱅'),
+ ('𑱐', '𑱬'),
+ ('𑱰', '𑲏'),
+ ('𑲩', '𑲩'),
+ ('𑲱', '𑲱'),
+ ('𑲴', '𑲴'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵐', '𑵙'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('𑶓', '𑶔'),
+ ('𑶖', '𑶖'),
+ ('𑶘', '𑶘'),
+ ('𑶠', '𑶩'),
+ ('𑻠', '𑻲'),
+ ('𑻵', '𑻸'),
+ ('𑼂', '𑼐'),
+ ('𑼒', '𑼵'),
+ ('𑼾', '𑼿'),
+ ('𑽁', '𑽁'),
+ ('𑽃', '𑽙'),
+ ('𑾰', '𑾰'),
+ ('𑿀', '𑿱'),
+ ('𑿿', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒑰', '𒑴'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿲'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩠', '𖩩'),
+ ('𖩮', '𖪾'),
+ ('𖫀', '𖫉'),
+ ('𖫐', '𖫭'),
+ ('𖫵', '𖫵'),
+ ('𖬀', '𖬯'),
+ ('𖬷', '𖭅'),
+ ('𖭐', '𖭙'),
+ ('𖭛', '𖭡'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖺚'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖾇'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿣'),
+ ('𖿰', '𖿱'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𛲜', '𛲜'),
+ ('𛲟', '𛲟'),
+ ('𜽐', '𜿃'),
+ ('𝀀', '𝃵'),
+ ('𝄀', '𝄦'),
+ ('𝄩', '𝅘𝅥𝅲'),
+ ('𝅦', '𝅦'),
+ ('𝅪', '𝅭'),
+ ('𝆃', '𝆄'),
+ ('𝆌', '𝆩'),
+ ('𝆮', '𝇪'),
+ ('𝈀', '𝉁'),
+ ('𝉅', '𝉅'),
+ ('𝋀', '𝋓'),
+ ('𝋠', '𝋳'),
+ ('𝌀', '𝍖'),
+ ('𝍠', '𝍸'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝟋'),
+ ('𝟎', '𝧿'),
+ ('𝨷', '𝨺'),
+ ('𝩭', '𝩴'),
+ ('𝩶', '𝪃'),
+ ('𝪅', '𝪋'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅀', '𞅉'),
+ ('𞅎', '𞅏'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞋰', '𞋹'),
+ ('𞋿', '𞋿'),
+ ('𞓐', '𞓫'),
+ ('𞓰', '𞓹'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞣇', '𞣏'),
+ ('𞤀', '𞥃'),
+ ('𞥋', '𞥋'),
+ ('𞥐', '𞥙'),
+ ('𞥞', '𞥟'),
+ ('𞱱', '𞲴'),
+ ('𞴁', '𞴽'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𞻰', '𞻱'),
+ ('🀀', '🀫'),
+ ('🀰', '🂓'),
+ ('🂠', '🂮'),
+ ('🂱', '🂿'),
+ ('🃁', '🃏'),
+ ('🃑', '🃵'),
+ ('🄀', '🆭'),
+ ('🇦', '🈂'),
+ ('🈐', '🈻'),
+ ('🉀', '🉈'),
+ ('🉐', '🉑'),
+ ('🉠', '🉥'),
+ ('🌀', '🛗'),
+ ('🛜', '🛬'),
+ ('🛰', '🛼'),
+ ('🜀', '🝶'),
+ ('🝻', '🟙'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🠀', '🠋'),
+ ('🠐', '🡇'),
+ ('🡐', '🡙'),
+ ('🡠', '🢇'),
+ ('🢐', '🢭'),
+ ('🢰', '🢱'),
+ ('🤀', '🩓'),
+ ('🩠', '🩭'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+ ('🬀', '🮒'),
+ ('🮔', '🯊'),
+ ('🯰', '🯹'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const GRAPHEME_EXTEND: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{483}', '\u{489}'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6df}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', '\u{7f3}'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{819}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('\u{898}', '\u{89f}'),
+ ('\u{8ca}', '\u{8e1}'),
+ ('\u{8e3}', '\u{902}'),
+ ('\u{93a}', '\u{93a}'),
+ ('\u{93c}', '\u{93c}'),
+ ('\u{941}', '\u{948}'),
+ ('\u{94d}', '\u{94d}'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', '\u{981}'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9be}', '\u{9be}'),
+ ('\u{9c1}', '\u{9c4}'),
+ ('\u{9cd}', '\u{9cd}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', '\u{a02}'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('\u{a41}', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', '\u{a82}'),
+ ('\u{abc}', '\u{abc}'),
+ ('\u{ac1}', '\u{ac5}'),
+ ('\u{ac7}', '\u{ac8}'),
+ ('\u{acd}', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', '\u{b01}'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3e}', '\u{b3f}'),
+ ('\u{b41}', '\u{b44}'),
+ ('\u{b4d}', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bbe}', '\u{bbe}'),
+ ('\u{bc0}', '\u{bc0}'),
+ ('\u{bcd}', '\u{bcd}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', '\u{c00}'),
+ ('\u{c04}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', '\u{c40}'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', '\u{c81}'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('\u{cbf}', '\u{cbf}'),
+ ('\u{cc2}', '\u{cc2}'),
+ ('\u{cc6}', '\u{cc6}'),
+ ('\u{ccc}', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('\u{d00}', '\u{d01}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d3e}', '\u{d3e}'),
+ ('\u{d41}', '\u{d44}'),
+ ('\u{d4d}', '\u{d4d}'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', '\u{d81}'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dcf}'),
+ ('\u{dd2}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('\u{ddf}', '\u{ddf}'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e47}', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('\u{f71}', '\u{f7e}'),
+ ('\u{f80}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('\u{102d}', '\u{1030}'),
+ ('\u{1032}', '\u{1037}'),
+ ('\u{1039}', '\u{103a}'),
+ ('\u{103d}', '\u{103e}'),
+ ('\u{1058}', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{1082}'),
+ ('\u{1085}', '\u{1086}'),
+ ('\u{108d}', '\u{108d}'),
+ ('\u{109d}', '\u{109d}'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '\u{1714}'),
+ ('\u{1732}', '\u{1733}'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17b5}'),
+ ('\u{17b7}', '\u{17bd}'),
+ ('\u{17c6}', '\u{17c6}'),
+ ('\u{17c9}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', '\u{1922}'),
+ ('\u{1927}', '\u{1928}'),
+ ('\u{1932}', '\u{1932}'),
+ ('\u{1939}', '\u{193b}'),
+ ('\u{1a17}', '\u{1a18}'),
+ ('\u{1a1b}', '\u{1a1b}'),
+ ('\u{1a56}', '\u{1a56}'),
+ ('\u{1a58}', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a60}'),
+ ('\u{1a62}', '\u{1a62}'),
+ ('\u{1a65}', '\u{1a6c}'),
+ ('\u{1a73}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', '\u{1b03}'),
+ ('\u{1b34}', '\u{1b3a}'),
+ ('\u{1b3c}', '\u{1b3c}'),
+ ('\u{1b42}', '\u{1b42}'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '\u{1b81}'),
+ ('\u{1ba2}', '\u{1ba5}'),
+ ('\u{1ba8}', '\u{1ba9}'),
+ ('\u{1bab}', '\u{1bad}'),
+ ('\u{1be6}', '\u{1be6}'),
+ ('\u{1be8}', '\u{1be9}'),
+ ('\u{1bed}', '\u{1bed}'),
+ ('\u{1bef}', '\u{1bf1}'),
+ ('\u{1c2c}', '\u{1c33}'),
+ ('\u{1c36}', '\u{1c37}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce0}'),
+ ('\u{1ce2}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{200c}', '\u{200c}'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{302a}', '\u{302f}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{a66f}', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('\u{a825}', '\u{a826}'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('\u{a8c4}', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '\u{a951}'),
+ ('\u{a980}', '\u{a982}'),
+ ('\u{a9b3}', '\u{a9b3}'),
+ ('\u{a9b6}', '\u{a9b9}'),
+ ('\u{a9bc}', '\u{a9bd}'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa2e}'),
+ ('\u{aa31}', '\u{aa32}'),
+ ('\u{aa35}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', '\u{aa4c}'),
+ ('\u{aa7c}', '\u{aa7c}'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('\u{aaec}', '\u{aaed}'),
+ ('\u{aaf6}', '\u{aaf6}'),
+ ('\u{abe5}', '\u{abe5}'),
+ ('\u{abe8}', '\u{abe8}'),
+ ('\u{abed}', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('\u{11001}', '\u{11001}'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '\u{11081}'),
+ ('\u{110b3}', '\u{110b6}'),
+ ('\u{110b9}', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{1112b}'),
+ ('\u{1112d}', '\u{11134}'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '\u{11181}'),
+ ('\u{111b6}', '\u{111be}'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('\u{111cf}', '\u{111cf}'),
+ ('\u{1122f}', '\u{11231}'),
+ ('\u{11234}', '\u{11234}'),
+ ('\u{11236}', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112df}'),
+ ('\u{112e3}', '\u{112ea}'),
+ ('\u{11300}', '\u{11301}'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{1133e}', '\u{1133e}'),
+ ('\u{11340}', '\u{11340}'),
+ ('\u{11357}', '\u{11357}'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('\u{11438}', '\u{1143f}'),
+ ('\u{11442}', '\u{11444}'),
+ ('\u{11446}', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b0}', '\u{114b0}'),
+ ('\u{114b3}', '\u{114b8}'),
+ ('\u{114ba}', '\u{114ba}'),
+ ('\u{114bd}', '\u{114bd}'),
+ ('\u{114bf}', '\u{114c0}'),
+ ('\u{114c2}', '\u{114c3}'),
+ ('\u{115af}', '\u{115af}'),
+ ('\u{115b2}', '\u{115b5}'),
+ ('\u{115bc}', '\u{115bd}'),
+ ('\u{115bf}', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('\u{11633}', '\u{1163a}'),
+ ('\u{1163d}', '\u{1163d}'),
+ ('\u{1163f}', '\u{11640}'),
+ ('\u{116ab}', '\u{116ab}'),
+ ('\u{116ad}', '\u{116ad}'),
+ ('\u{116b0}', '\u{116b5}'),
+ ('\u{116b7}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1171f}'),
+ ('\u{11722}', '\u{11725}'),
+ ('\u{11727}', '\u{1172b}'),
+ ('\u{1182f}', '\u{11837}'),
+ ('\u{11839}', '\u{1183a}'),
+ ('\u{11930}', '\u{11930}'),
+ ('\u{1193b}', '\u{1193c}'),
+ ('\u{1193e}', '\u{1193e}'),
+ ('\u{11943}', '\u{11943}'),
+ ('\u{119d4}', '\u{119d7}'),
+ ('\u{119da}', '\u{119db}'),
+ ('\u{119e0}', '\u{119e0}'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '\u{11a38}'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a56}'),
+ ('\u{11a59}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a96}'),
+ ('\u{11a98}', '\u{11a99}'),
+ ('\u{11c30}', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3d}'),
+ ('\u{11c3f}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('\u{11caa}', '\u{11cb0}'),
+ ('\u{11cb2}', '\u{11cb3}'),
+ ('\u{11cb5}', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('\u{11d95}', '\u{11d95}'),
+ ('\u{11d97}', '\u{11d97}'),
+ ('\u{11ef3}', '\u{11ef4}'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('\u{11f36}', '\u{11f3a}'),
+ ('\u{11f40}', '\u{11f40}'),
+ ('\u{11f42}', '\u{11f42}'),
+ ('\u{13440}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d165}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('\u{1d16e}', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e4ec}', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e94a}'),
+ ('\u{e0020}', '\u{e007f}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const GRAPHEME_LINK: &'static [(char, char)] = &[
+ ('\u{94d}', '\u{94d}'),
+ ('\u{9cd}', '\u{9cd}'),
+ ('\u{a4d}', '\u{a4d}'),
+ ('\u{acd}', '\u{acd}'),
+ ('\u{b4d}', '\u{b4d}'),
+ ('\u{bcd}', '\u{bcd}'),
+ ('\u{c4d}', '\u{c4d}'),
+ ('\u{ccd}', '\u{ccd}'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d4d}', '\u{d4d}'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{e3a}', '\u{e3a}'),
+ ('\u{eba}', '\u{eba}'),
+ ('\u{f84}', '\u{f84}'),
+ ('\u{1039}', '\u{103a}'),
+ ('\u{1714}', '᜕'),
+ ('᜴', '᜴'),
+ ('\u{17d2}', '\u{17d2}'),
+ ('\u{1a60}', '\u{1a60}'),
+ ('᭄', '᭄'),
+ ('᮪', '\u{1bab}'),
+ ('᯲', '᯳'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('\u{a8c4}', '\u{a8c4}'),
+ ('꥓', '꥓'),
+ ('꧀', '꧀'),
+ ('\u{aaf6}', '\u{aaf6}'),
+ ('\u{abed}', '\u{abed}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{11046}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{1107f}', '\u{1107f}'),
+ ('\u{110b9}', '\u{110b9}'),
+ ('\u{11133}', '\u{11134}'),
+ ('𑇀', '𑇀'),
+ ('𑈵', '𑈵'),
+ ('\u{112ea}', '\u{112ea}'),
+ ('𑍍', '𑍍'),
+ ('\u{11442}', '\u{11442}'),
+ ('\u{114c2}', '\u{114c2}'),
+ ('\u{115bf}', '\u{115bf}'),
+ ('\u{1163f}', '\u{1163f}'),
+ ('𑚶', '𑚶'),
+ ('\u{1172b}', '\u{1172b}'),
+ ('\u{11839}', '\u{11839}'),
+ ('𑤽', '\u{1193e}'),
+ ('\u{119e0}', '\u{119e0}'),
+ ('\u{11a34}', '\u{11a34}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a99}', '\u{11a99}'),
+ ('\u{11c3f}', '\u{11c3f}'),
+ ('\u{11d44}', '\u{11d45}'),
+ ('\u{11d97}', '\u{11d97}'),
+ ('𑽁', '\u{11f42}'),
+];
+
+pub const HEX_DIGIT: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('A', 'F'),
+ ('a', 'f'),
+ ('0', '9'),
+ ('A', 'F'),
+ ('a', 'f'),
+];
+
+pub const HYPHEN: &'static [(char, char)] = &[
+ ('-', '-'),
+ ('\u{ad}', '\u{ad}'),
+ ('֊', '֊'),
+ ('᠆', '᠆'),
+ ('‐', '‑'),
+ ('⸗', '⸗'),
+ ('・', '・'),
+ ('﹣', '﹣'),
+ ('-', '-'),
+ ('・', '・'),
+];
+
+pub const IDS_BINARY_OPERATOR: &'static [(char, char)] =
+ &[('⿰', '⿱'), ('⿴', '⿻')];
+
+pub const IDS_TRINARY_OPERATOR: &'static [(char, char)] = &[('⿲', '⿳')];
+
+pub const ID_CONTINUE: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('A', 'Z'),
+ ('_', '_'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('·', '·'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('\u{300}', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('\u{483}', '\u{487}'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('\u{610}', '\u{61a}'),
+ ('ؠ', '٩'),
+ ('ٮ', 'ۓ'),
+ ('ە', '\u{6dc}'),
+ ('\u{6df}', '\u{6e8}'),
+ ('\u{6ea}', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', '\u{74a}'),
+ ('ݍ', 'ޱ'),
+ ('߀', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('ࠀ', '\u{82d}'),
+ ('ࡀ', '\u{85b}'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('\u{898}', '\u{8e1}'),
+ ('\u{8e3}', '\u{963}'),
+ ('०', '९'),
+ ('ॱ', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('\u{9bc}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৎ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('০', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('\u{abc}', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', '\u{ae3}'),
+ ('૦', '૯'),
+ ('ૹ', '\u{aff}'),
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('\u{b3c}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', '\u{b63}'),
+ ('୦', '୯'),
+ ('ୱ', 'ୱ'),
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('ௐ', 'ௐ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('௦', '௯'),
+ ('\u{c00}', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('\u{c3c}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', '\u{c63}'),
+ ('౦', '౯'),
+ ('ಀ', 'ಃ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('\u{cbc}', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', '\u{ce3}'),
+ ('೦', '೯'),
+ ('ೱ', 'ೳ'),
+ ('\u{d00}', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൎ'),
+ ('ൔ', '\u{d57}'),
+ ('ൟ', '\u{d63}'),
+ ('൦', '൯'),
+ ('ൺ', 'ൿ'),
+ ('\u{d81}', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('෦', '෯'),
+ ('ෲ', 'ෳ'),
+ ('ก', '\u{e3a}'),
+ ('เ', '\u{e4e}'),
+ ('๐', '๙'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ece}'),
+ ('໐', '໙'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('\u{f18}', '\u{f19}'),
+ ('༠', '༩'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('\u{f71}', '\u{f84}'),
+ ('\u{f86}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('က', '၉'),
+ ('ၐ', '\u{109d}'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('\u{135d}', '\u{135f}'),
+ ('፩', '፱'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', '᜕'),
+ ('ᜟ', '᜴'),
+ ('ᝀ', '\u{1753}'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('\u{1772}', '\u{1773}'),
+ ('ក', '\u{17d3}'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', '\u{17dd}'),
+ ('០', '៩'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '᠙'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('᥆', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('᧐', '᧚'),
+ ('ᨀ', '\u{1a1b}'),
+ ('ᨠ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '᪉'),
+ ('᪐', '᪙'),
+ ('ᪧ', 'ᪧ'),
+ ('\u{1ab0}', '\u{1abd}'),
+ ('\u{1abf}', '\u{1ace}'),
+ ('\u{1b00}', 'ᭌ'),
+ ('᭐', '᭙'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '᯳'),
+ ('ᰀ', '\u{1c37}'),
+ ('᱀', '᱉'),
+ ('ᱍ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', 'ᳺ'),
+ ('ᴀ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('‿', '⁀'),
+ ('⁔', '⁔'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('\u{20d0}', '\u{20dc}'),
+ ('\u{20e1}', '\u{20e1}'),
+ ('\u{20e5}', '\u{20f0}'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('℘', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('\u{2d7f}', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('々', '〇'),
+ ('〡', '\u{302f}'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('\u{3099}', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘫ'),
+ ('Ꙁ', '\u{a66f}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('ꙿ', '\u{a6f1}'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠧ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢀ', '\u{a8c5}'),
+ ('꣐', '꣙'),
+ ('\u{a8e0}', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', '\u{a92d}'),
+ ('ꤰ', '꥓'),
+ ('ꥠ', 'ꥼ'),
+ ('\u{a980}', '꧀'),
+ ('ꧏ', '꧙'),
+ ('ꧠ', 'ꧾ'),
+ ('ꨀ', '\u{aa36}'),
+ ('ꩀ', 'ꩍ'),
+ ('꩐', '꩙'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫯ'),
+ ('ꫲ', '\u{aaf6}'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯪ'),
+ ('꯬', '\u{abed}'),
+ ('꯰', '꯹'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('︳', '︴'),
+ ('﹍', '﹏'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('0', '9'),
+ ('A', 'Z'),
+ ('_', '_'),
+ ('a', 'z'),
+ ('ヲ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '\u{1037a}'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒠', '𐒩'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '\u{10ae6}'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '\u{10d27}'),
+ ('𐴰', '𐴹'),
+ ('𐺀', '𐺩'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('𐺰', '𐺱'),
+ ('\u{10efd}', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '\u{10f50}'),
+ ('𐽰', '\u{10f85}'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀀', '\u{11046}'),
+ ('𑁦', '𑁵'),
+ ('\u{1107f}', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('𑃐', '𑃨'),
+ ('𑃰', '𑃹'),
+ ('\u{11100}', '\u{11134}'),
+ ('𑄶', '𑄿'),
+ ('𑅄', '𑅇'),
+ ('𑅐', '\u{11173}'),
+ ('𑅶', '𑅶'),
+ ('\u{11180}', '𑇄'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇎', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '\u{11237}'),
+ ('\u{1123e}', '\u{11241}'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '\u{112ea}'),
+ ('𑋰', '𑋹'),
+ ('\u{11300}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('\u{1133b}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍐', '𑍐'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑐀', '𑑊'),
+ ('𑑐', '𑑙'),
+ ('\u{1145e}', '𑑡'),
+ ('𑒀', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑓐', '𑓙'),
+ ('𑖀', '\u{115b5}'),
+ ('𑖸', '\u{115c0}'),
+ ('𑗘', '\u{115dd}'),
+ ('𑘀', '\u{11640}'),
+ ('𑙄', '𑙄'),
+ ('𑙐', '𑙙'),
+ ('𑚀', '𑚸'),
+ ('𑛀', '𑛉'),
+ ('𑜀', '𑜚'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑜰', '𑜹'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '\u{1183a}'),
+ ('𑢠', '𑣩'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{11943}'),
+ ('𑥐', '𑥙'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '\u{119d7}'),
+ ('\u{119da}', '𑧡'),
+ ('𑧣', '𑧤'),
+ ('𑨀', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('𑩐', '\u{11a99}'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '\u{11c36}'),
+ ('\u{11c38}', '𑱀'),
+ ('𑱐', '𑱙'),
+ ('𑱲', '𑲏'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d47}'),
+ ('𑵐', '𑵙'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶘'),
+ ('𑶠', '𑶩'),
+ ('𑻠', '𑻶'),
+ ('\u{11f00}', '𑼐'),
+ ('𑼒', '\u{11f3a}'),
+ ('𑼾', '\u{11f42}'),
+ ('𑽐', '𑽙'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('\u{13440}', '\u{13455}'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩠', '𖩩'),
+ ('𖩰', '𖪾'),
+ ('𖫀', '𖫉'),
+ ('𖫐', '𖫭'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('𖬀', '\u{16b36}'),
+ ('𖭀', '𖭃'),
+ ('𖭐', '𖭙'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('\u{16f4f}', '𖾇'),
+ ('\u{16f8f}', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('𞄀', '𞄬'),
+ ('\u{1e130}', '𞄽'),
+ ('𞅀', '𞅉'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '\u{1e2ae}'),
+ ('𞋀', '𞋹'),
+ ('𞓐', '𞓹'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('𞤀', '𞥋'),
+ ('𞥐', '𞥙'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('🯰', '🯹'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const ID_START: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('Ͱ', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('ؠ', 'ي'),
+ ('ٮ', 'ٯ'),
+ ('ٱ', 'ۓ'),
+ ('ە', 'ە'),
+ ('ۥ', 'ۦ'),
+ ('ۮ', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠀ', 'ࠕ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('ऄ', 'ह'),
+ ('ऽ', 'ऽ'),
+ ('ॐ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('ॱ', 'ঀ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('ੲ', 'ੴ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ઽ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('ૹ', 'ૹ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('ୱ', 'ୱ'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ௐ', 'ௐ'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('ಀ', 'ಀ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಽ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('ೱ', 'ೲ'),
+ ('ഄ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', 'ൖ'),
+ ('ൟ', 'ൡ'),
+ ('ൺ', 'ൿ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ก', 'ะ'),
+ ('า', 'ำ'),
+ ('เ', 'ๆ'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ະ'),
+ ('າ', 'ຳ'),
+ ('ຽ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ྈ', 'ྌ'),
+ ('က', 'ဪ'),
+ ('ဿ', 'ဿ'),
+ ('ၐ', 'ၕ'),
+ ('ၚ', 'ၝ'),
+ ('ၡ', 'ၡ'),
+ ('ၥ', 'ၦ'),
+ ('ၮ', 'ၰ'),
+ ('ၵ', 'ႁ'),
+ ('ႎ', 'ႎ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('ᜟ', 'ᜱ'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ក', 'ឳ'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', 'ៜ'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᥐ', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('ᨀ', 'ᨖ'),
+ ('ᨠ', 'ᩔ'),
+ ('ᪧ', 'ᪧ'),
+ ('ᬅ', 'ᬳ'),
+ ('ᭅ', 'ᭌ'),
+ ('ᮃ', 'ᮠ'),
+ ('ᮮ', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᰀ', 'ᰣ'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ᴀ', 'ᶿ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('℘', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('々', '〇'),
+ ('〡', '〩'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('゛', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('Ꙁ', 'ꙮ'),
+ ('ꙿ', 'ꚝ'),
+ ('ꚠ', 'ꛯ'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠢ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢂ', 'ꢳ'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', 'ꣾ'),
+ ('ꤊ', 'ꤥ'),
+ ('ꤰ', 'ꥆ'),
+ ('ꥠ', 'ꥼ'),
+ ('ꦄ', 'ꦲ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧠ', 'ꧤ'),
+ ('ꧦ', 'ꧯ'),
+ ('ꧺ', 'ꧾ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꩺ'),
+ ('ꩾ', 'ꪯ'),
+ ('ꪱ', 'ꪱ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪽ'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫪ'),
+ ('ꫲ', 'ꫴ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯢ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ヲ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '𐴣'),
+ ('𐺀', '𐺩'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀃', '𑀷'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂃', '𑂯'),
+ ('𑃐', '𑃨'),
+ ('𑄃', '𑄦'),
+ ('𑅄', '𑅄'),
+ ('𑅇', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('𑆃', '𑆲'),
+ ('𑇁', '𑇄'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈫'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '𑋞'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍡'),
+ ('𑐀', '𑐴'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '𑖮'),
+ ('𑗘', '𑗛'),
+ ('𑘀', '𑘯'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '𑚪'),
+ ('𑚸', '𑚸'),
+ ('𑜀', '𑜚'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '𑠫'),
+ ('𑢠', '𑣟'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧐'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧣'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨺', '𑨺'),
+ ('𑩐', '𑩐'),
+ ('𑩜', '𑪉'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰮'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶉'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻲'),
+ ('𑼂', '𑼂'),
+ ('𑼄', '𑼐'),
+ ('𑼒', '𑼳'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭀', '𖭃'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖽐'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓫'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞤀', '𞥃'),
+ ('𞥋', '𞥋'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const IDEOGRAPHIC: &'static [(char, char)] = &[
+ ('〆', '〇'),
+ ('〡', '〩'),
+ ('〸', '〺'),
+ ('㐀', '䶿'),
+ ('一', '鿿'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𛅰', '𛋻'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const JOIN_CONTROL: &'static [(char, char)] = &[('\u{200c}', '\u{200d}')];
+
+pub const LOGICAL_ORDER_EXCEPTION: &'static [(char, char)] = &[
+ ('เ', 'ไ'),
+ ('ເ', 'ໄ'),
+ ('ᦵ', 'ᦷ'),
+ ('ᦺ', 'ᦺ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪹ'),
+ ('ꪻ', 'ꪼ'),
+];
+
+pub const LOWERCASE: &'static [(char, char)] = &[
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('ß', 'ö'),
+ ('ø', 'ÿ'),
+ ('ā', 'ā'),
+ ('ă', 'ă'),
+ ('ą', 'ą'),
+ ('ć', 'ć'),
+ ('ĉ', 'ĉ'),
+ ('ċ', 'ċ'),
+ ('č', 'č'),
+ ('ď', 'ď'),
+ ('đ', 'đ'),
+ ('ē', 'ē'),
+ ('ĕ', 'ĕ'),
+ ('ė', 'ė'),
+ ('ę', 'ę'),
+ ('ě', 'ě'),
+ ('ĝ', 'ĝ'),
+ ('ğ', 'ğ'),
+ ('ġ', 'ġ'),
+ ('ģ', 'ģ'),
+ ('ĥ', 'ĥ'),
+ ('ħ', 'ħ'),
+ ('ĩ', 'ĩ'),
+ ('ī', 'ī'),
+ ('ĭ', 'ĭ'),
+ ('į', 'į'),
+ ('ı', 'ı'),
+ ('ij', 'ij'),
+ ('ĵ', 'ĵ'),
+ ('ķ', 'ĸ'),
+ ('ĺ', 'ĺ'),
+ ('ļ', 'ļ'),
+ ('ľ', 'ľ'),
+ ('ŀ', 'ŀ'),
+ ('ł', 'ł'),
+ ('ń', 'ń'),
+ ('ņ', 'ņ'),
+ ('ň', 'ʼn'),
+ ('ŋ', 'ŋ'),
+ ('ō', 'ō'),
+ ('ŏ', 'ŏ'),
+ ('ő', 'ő'),
+ ('œ', 'œ'),
+ ('ŕ', 'ŕ'),
+ ('ŗ', 'ŗ'),
+ ('ř', 'ř'),
+ ('ś', 'ś'),
+ ('ŝ', 'ŝ'),
+ ('ş', 'ş'),
+ ('š', 'š'),
+ ('ţ', 'ţ'),
+ ('ť', 'ť'),
+ ('ŧ', 'ŧ'),
+ ('ũ', 'ũ'),
+ ('ū', 'ū'),
+ ('ŭ', 'ŭ'),
+ ('ů', 'ů'),
+ ('ű', 'ű'),
+ ('ų', 'ų'),
+ ('ŵ', 'ŵ'),
+ ('ŷ', 'ŷ'),
+ ('ź', 'ź'),
+ ('ż', 'ż'),
+ ('ž', 'ƀ'),
+ ('ƃ', 'ƃ'),
+ ('ƅ', 'ƅ'),
+ ('ƈ', 'ƈ'),
+ ('ƌ', 'ƍ'),
+ ('ƒ', 'ƒ'),
+ ('ƕ', 'ƕ'),
+ ('ƙ', 'ƛ'),
+ ('ƞ', 'ƞ'),
+ ('ơ', 'ơ'),
+ ('ƣ', 'ƣ'),
+ ('ƥ', 'ƥ'),
+ ('ƨ', 'ƨ'),
+ ('ƪ', 'ƫ'),
+ ('ƭ', 'ƭ'),
+ ('ư', 'ư'),
+ ('ƴ', 'ƴ'),
+ ('ƶ', 'ƶ'),
+ ('ƹ', 'ƺ'),
+ ('ƽ', 'ƿ'),
+ ('dž', 'dž'),
+ ('lj', 'lj'),
+ ('nj', 'nj'),
+ ('ǎ', 'ǎ'),
+ ('ǐ', 'ǐ'),
+ ('ǒ', 'ǒ'),
+ ('ǔ', 'ǔ'),
+ ('ǖ', 'ǖ'),
+ ('ǘ', 'ǘ'),
+ ('ǚ', 'ǚ'),
+ ('ǜ', 'ǝ'),
+ ('ǟ', 'ǟ'),
+ ('ǡ', 'ǡ'),
+ ('ǣ', 'ǣ'),
+ ('ǥ', 'ǥ'),
+ ('ǧ', 'ǧ'),
+ ('ǩ', 'ǩ'),
+ ('ǫ', 'ǫ'),
+ ('ǭ', 'ǭ'),
+ ('ǯ', 'ǰ'),
+ ('dz', 'dz'),
+ ('ǵ', 'ǵ'),
+ ('ǹ', 'ǹ'),
+ ('ǻ', 'ǻ'),
+ ('ǽ', 'ǽ'),
+ ('ǿ', 'ǿ'),
+ ('ȁ', 'ȁ'),
+ ('ȃ', 'ȃ'),
+ ('ȅ', 'ȅ'),
+ ('ȇ', 'ȇ'),
+ ('ȉ', 'ȉ'),
+ ('ȋ', 'ȋ'),
+ ('ȍ', 'ȍ'),
+ ('ȏ', 'ȏ'),
+ ('ȑ', 'ȑ'),
+ ('ȓ', 'ȓ'),
+ ('ȕ', 'ȕ'),
+ ('ȗ', 'ȗ'),
+ ('ș', 'ș'),
+ ('ț', 'ț'),
+ ('ȝ', 'ȝ'),
+ ('ȟ', 'ȟ'),
+ ('ȡ', 'ȡ'),
+ ('ȣ', 'ȣ'),
+ ('ȥ', 'ȥ'),
+ ('ȧ', 'ȧ'),
+ ('ȩ', 'ȩ'),
+ ('ȫ', 'ȫ'),
+ ('ȭ', 'ȭ'),
+ ('ȯ', 'ȯ'),
+ ('ȱ', 'ȱ'),
+ ('ȳ', 'ȹ'),
+ ('ȼ', 'ȼ'),
+ ('ȿ', 'ɀ'),
+ ('ɂ', 'ɂ'),
+ ('ɇ', 'ɇ'),
+ ('ɉ', 'ɉ'),
+ ('ɋ', 'ɋ'),
+ ('ɍ', 'ɍ'),
+ ('ɏ', 'ʓ'),
+ ('ʕ', 'ʸ'),
+ ('ˀ', 'ˁ'),
+ ('ˠ', 'ˤ'),
+ ('\u{345}', '\u{345}'),
+ ('ͱ', 'ͱ'),
+ ('ͳ', 'ͳ'),
+ ('ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('ΐ', 'ΐ'),
+ ('ά', 'ώ'),
+ ('ϐ', 'ϑ'),
+ ('ϕ', 'ϗ'),
+ ('ϙ', 'ϙ'),
+ ('ϛ', 'ϛ'),
+ ('ϝ', 'ϝ'),
+ ('ϟ', 'ϟ'),
+ ('ϡ', 'ϡ'),
+ ('ϣ', 'ϣ'),
+ ('ϥ', 'ϥ'),
+ ('ϧ', 'ϧ'),
+ ('ϩ', 'ϩ'),
+ ('ϫ', 'ϫ'),
+ ('ϭ', 'ϭ'),
+ ('ϯ', 'ϳ'),
+ ('ϵ', 'ϵ'),
+ ('ϸ', 'ϸ'),
+ ('ϻ', 'ϼ'),
+ ('а', 'џ'),
+ ('ѡ', 'ѡ'),
+ ('ѣ', 'ѣ'),
+ ('ѥ', 'ѥ'),
+ ('ѧ', 'ѧ'),
+ ('ѩ', 'ѩ'),
+ ('ѫ', 'ѫ'),
+ ('ѭ', 'ѭ'),
+ ('ѯ', 'ѯ'),
+ ('ѱ', 'ѱ'),
+ ('ѳ', 'ѳ'),
+ ('ѵ', 'ѵ'),
+ ('ѷ', 'ѷ'),
+ ('ѹ', 'ѹ'),
+ ('ѻ', 'ѻ'),
+ ('ѽ', 'ѽ'),
+ ('ѿ', 'ѿ'),
+ ('ҁ', 'ҁ'),
+ ('ҋ', 'ҋ'),
+ ('ҍ', 'ҍ'),
+ ('ҏ', 'ҏ'),
+ ('ґ', 'ґ'),
+ ('ғ', 'ғ'),
+ ('ҕ', 'ҕ'),
+ ('җ', 'җ'),
+ ('ҙ', 'ҙ'),
+ ('қ', 'қ'),
+ ('ҝ', 'ҝ'),
+ ('ҟ', 'ҟ'),
+ ('ҡ', 'ҡ'),
+ ('ң', 'ң'),
+ ('ҥ', 'ҥ'),
+ ('ҧ', 'ҧ'),
+ ('ҩ', 'ҩ'),
+ ('ҫ', 'ҫ'),
+ ('ҭ', 'ҭ'),
+ ('ү', 'ү'),
+ ('ұ', 'ұ'),
+ ('ҳ', 'ҳ'),
+ ('ҵ', 'ҵ'),
+ ('ҷ', 'ҷ'),
+ ('ҹ', 'ҹ'),
+ ('һ', 'һ'),
+ ('ҽ', 'ҽ'),
+ ('ҿ', 'ҿ'),
+ ('ӂ', 'ӂ'),
+ ('ӄ', 'ӄ'),
+ ('ӆ', 'ӆ'),
+ ('ӈ', 'ӈ'),
+ ('ӊ', 'ӊ'),
+ ('ӌ', 'ӌ'),
+ ('ӎ', 'ӏ'),
+ ('ӑ', 'ӑ'),
+ ('ӓ', 'ӓ'),
+ ('ӕ', 'ӕ'),
+ ('ӗ', 'ӗ'),
+ ('ә', 'ә'),
+ ('ӛ', 'ӛ'),
+ ('ӝ', 'ӝ'),
+ ('ӟ', 'ӟ'),
+ ('ӡ', 'ӡ'),
+ ('ӣ', 'ӣ'),
+ ('ӥ', 'ӥ'),
+ ('ӧ', 'ӧ'),
+ ('ө', 'ө'),
+ ('ӫ', 'ӫ'),
+ ('ӭ', 'ӭ'),
+ ('ӯ', 'ӯ'),
+ ('ӱ', 'ӱ'),
+ ('ӳ', 'ӳ'),
+ ('ӵ', 'ӵ'),
+ ('ӷ', 'ӷ'),
+ ('ӹ', 'ӹ'),
+ ('ӻ', 'ӻ'),
+ ('ӽ', 'ӽ'),
+ ('ӿ', 'ӿ'),
+ ('ԁ', 'ԁ'),
+ ('ԃ', 'ԃ'),
+ ('ԅ', 'ԅ'),
+ ('ԇ', 'ԇ'),
+ ('ԉ', 'ԉ'),
+ ('ԋ', 'ԋ'),
+ ('ԍ', 'ԍ'),
+ ('ԏ', 'ԏ'),
+ ('ԑ', 'ԑ'),
+ ('ԓ', 'ԓ'),
+ ('ԕ', 'ԕ'),
+ ('ԗ', 'ԗ'),
+ ('ԙ', 'ԙ'),
+ ('ԛ', 'ԛ'),
+ ('ԝ', 'ԝ'),
+ ('ԟ', 'ԟ'),
+ ('ԡ', 'ԡ'),
+ ('ԣ', 'ԣ'),
+ ('ԥ', 'ԥ'),
+ ('ԧ', 'ԧ'),
+ ('ԩ', 'ԩ'),
+ ('ԫ', 'ԫ'),
+ ('ԭ', 'ԭ'),
+ ('ԯ', 'ԯ'),
+ ('ՠ', 'ֈ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ჿ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᴀ', 'ᶿ'),
+ ('ḁ', 'ḁ'),
+ ('ḃ', 'ḃ'),
+ ('ḅ', 'ḅ'),
+ ('ḇ', 'ḇ'),
+ ('ḉ', 'ḉ'),
+ ('ḋ', 'ḋ'),
+ ('ḍ', 'ḍ'),
+ ('ḏ', 'ḏ'),
+ ('ḑ', 'ḑ'),
+ ('ḓ', 'ḓ'),
+ ('ḕ', 'ḕ'),
+ ('ḗ', 'ḗ'),
+ ('ḙ', 'ḙ'),
+ ('ḛ', 'ḛ'),
+ ('ḝ', 'ḝ'),
+ ('ḟ', 'ḟ'),
+ ('ḡ', 'ḡ'),
+ ('ḣ', 'ḣ'),
+ ('ḥ', 'ḥ'),
+ ('ḧ', 'ḧ'),
+ ('ḩ', 'ḩ'),
+ ('ḫ', 'ḫ'),
+ ('ḭ', 'ḭ'),
+ ('ḯ', 'ḯ'),
+ ('ḱ', 'ḱ'),
+ ('ḳ', 'ḳ'),
+ ('ḵ', 'ḵ'),
+ ('ḷ', 'ḷ'),
+ ('ḹ', 'ḹ'),
+ ('ḻ', 'ḻ'),
+ ('ḽ', 'ḽ'),
+ ('ḿ', 'ḿ'),
+ ('ṁ', 'ṁ'),
+ ('ṃ', 'ṃ'),
+ ('ṅ', 'ṅ'),
+ ('ṇ', 'ṇ'),
+ ('ṉ', 'ṉ'),
+ ('ṋ', 'ṋ'),
+ ('ṍ', 'ṍ'),
+ ('ṏ', 'ṏ'),
+ ('ṑ', 'ṑ'),
+ ('ṓ', 'ṓ'),
+ ('ṕ', 'ṕ'),
+ ('ṗ', 'ṗ'),
+ ('ṙ', 'ṙ'),
+ ('ṛ', 'ṛ'),
+ ('ṝ', 'ṝ'),
+ ('ṟ', 'ṟ'),
+ ('ṡ', 'ṡ'),
+ ('ṣ', 'ṣ'),
+ ('ṥ', 'ṥ'),
+ ('ṧ', 'ṧ'),
+ ('ṩ', 'ṩ'),
+ ('ṫ', 'ṫ'),
+ ('ṭ', 'ṭ'),
+ ('ṯ', 'ṯ'),
+ ('ṱ', 'ṱ'),
+ ('ṳ', 'ṳ'),
+ ('ṵ', 'ṵ'),
+ ('ṷ', 'ṷ'),
+ ('ṹ', 'ṹ'),
+ ('ṻ', 'ṻ'),
+ ('ṽ', 'ṽ'),
+ ('ṿ', 'ṿ'),
+ ('ẁ', 'ẁ'),
+ ('ẃ', 'ẃ'),
+ ('ẅ', 'ẅ'),
+ ('ẇ', 'ẇ'),
+ ('ẉ', 'ẉ'),
+ ('ẋ', 'ẋ'),
+ ('ẍ', 'ẍ'),
+ ('ẏ', 'ẏ'),
+ ('ẑ', 'ẑ'),
+ ('ẓ', 'ẓ'),
+ ('ẕ', 'ẝ'),
+ ('ẟ', 'ẟ'),
+ ('ạ', 'ạ'),
+ ('ả', 'ả'),
+ ('ấ', 'ấ'),
+ ('ầ', 'ầ'),
+ ('ẩ', 'ẩ'),
+ ('ẫ', 'ẫ'),
+ ('ậ', 'ậ'),
+ ('ắ', 'ắ'),
+ ('ằ', 'ằ'),
+ ('ẳ', 'ẳ'),
+ ('ẵ', 'ẵ'),
+ ('ặ', 'ặ'),
+ ('ẹ', 'ẹ'),
+ ('ẻ', 'ẻ'),
+ ('ẽ', 'ẽ'),
+ ('ế', 'ế'),
+ ('ề', 'ề'),
+ ('ể', 'ể'),
+ ('ễ', 'ễ'),
+ ('ệ', 'ệ'),
+ ('ỉ', 'ỉ'),
+ ('ị', 'ị'),
+ ('ọ', 'ọ'),
+ ('ỏ', 'ỏ'),
+ ('ố', 'ố'),
+ ('ồ', 'ồ'),
+ ('ổ', 'ổ'),
+ ('ỗ', 'ỗ'),
+ ('ộ', 'ộ'),
+ ('ớ', 'ớ'),
+ ('ờ', 'ờ'),
+ ('ở', 'ở'),
+ ('ỡ', 'ỡ'),
+ ('ợ', 'ợ'),
+ ('ụ', 'ụ'),
+ ('ủ', 'ủ'),
+ ('ứ', 'ứ'),
+ ('ừ', 'ừ'),
+ ('ử', 'ử'),
+ ('ữ', 'ữ'),
+ ('ự', 'ự'),
+ ('ỳ', 'ỳ'),
+ ('ỵ', 'ỵ'),
+ ('ỷ', 'ỷ'),
+ ('ỹ', 'ỹ'),
+ ('ỻ', 'ỻ'),
+ ('ỽ', 'ỽ'),
+ ('ỿ', 'ἇ'),
+ ('ἐ', 'ἕ'),
+ ('ἠ', 'ἧ'),
+ ('ἰ', 'ἷ'),
+ ('ὀ', 'ὅ'),
+ ('ὐ', 'ὗ'),
+ ('ὠ', 'ὧ'),
+ ('ὰ', 'ώ'),
+ ('ᾀ', 'ᾇ'),
+ ('ᾐ', 'ᾗ'),
+ ('ᾠ', 'ᾧ'),
+ ('ᾰ', 'ᾴ'),
+ ('ᾶ', 'ᾷ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῇ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'ῗ'),
+ ('ῠ', 'ῧ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῷ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℊ', 'ℊ'),
+ ('ℎ', 'ℏ'),
+ ('ℓ', 'ℓ'),
+ ('ℯ', 'ℯ'),
+ ('ℴ', 'ℴ'),
+ ('ℹ', 'ℹ'),
+ ('ℼ', 'ℽ'),
+ ('ⅆ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('ⅰ', 'ⅿ'),
+ ('ↄ', 'ↄ'),
+ ('ⓐ', 'ⓩ'),
+ ('ⰰ', 'ⱟ'),
+ ('ⱡ', 'ⱡ'),
+ ('ⱥ', 'ⱦ'),
+ ('ⱨ', 'ⱨ'),
+ ('ⱪ', 'ⱪ'),
+ ('ⱬ', 'ⱬ'),
+ ('ⱱ', 'ⱱ'),
+ ('ⱳ', 'ⱴ'),
+ ('ⱶ', 'ⱽ'),
+ ('ⲁ', 'ⲁ'),
+ ('ⲃ', 'ⲃ'),
+ ('ⲅ', 'ⲅ'),
+ ('ⲇ', 'ⲇ'),
+ ('ⲉ', 'ⲉ'),
+ ('ⲋ', 'ⲋ'),
+ ('ⲍ', 'ⲍ'),
+ ('ⲏ', 'ⲏ'),
+ ('ⲑ', 'ⲑ'),
+ ('ⲓ', 'ⲓ'),
+ ('ⲕ', 'ⲕ'),
+ ('ⲗ', 'ⲗ'),
+ ('ⲙ', 'ⲙ'),
+ ('ⲛ', 'ⲛ'),
+ ('ⲝ', 'ⲝ'),
+ ('ⲟ', 'ⲟ'),
+ ('ⲡ', 'ⲡ'),
+ ('ⲣ', 'ⲣ'),
+ ('ⲥ', 'ⲥ'),
+ ('ⲧ', 'ⲧ'),
+ ('ⲩ', 'ⲩ'),
+ ('ⲫ', 'ⲫ'),
+ ('ⲭ', 'ⲭ'),
+ ('ⲯ', 'ⲯ'),
+ ('ⲱ', 'ⲱ'),
+ ('ⲳ', 'ⲳ'),
+ ('ⲵ', 'ⲵ'),
+ ('ⲷ', 'ⲷ'),
+ ('ⲹ', 'ⲹ'),
+ ('ⲻ', 'ⲻ'),
+ ('ⲽ', 'ⲽ'),
+ ('ⲿ', 'ⲿ'),
+ ('ⳁ', 'ⳁ'),
+ ('ⳃ', 'ⳃ'),
+ ('ⳅ', 'ⳅ'),
+ ('ⳇ', 'ⳇ'),
+ ('ⳉ', 'ⳉ'),
+ ('ⳋ', 'ⳋ'),
+ ('ⳍ', 'ⳍ'),
+ ('ⳏ', 'ⳏ'),
+ ('ⳑ', 'ⳑ'),
+ ('ⳓ', 'ⳓ'),
+ ('ⳕ', 'ⳕ'),
+ ('ⳗ', 'ⳗ'),
+ ('ⳙ', 'ⳙ'),
+ ('ⳛ', 'ⳛ'),
+ ('ⳝ', 'ⳝ'),
+ ('ⳟ', 'ⳟ'),
+ ('ⳡ', 'ⳡ'),
+ ('ⳣ', 'ⳤ'),
+ ('ⳬ', 'ⳬ'),
+ ('ⳮ', 'ⳮ'),
+ ('ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ꙁ', 'ꙁ'),
+ ('ꙃ', 'ꙃ'),
+ ('ꙅ', 'ꙅ'),
+ ('ꙇ', 'ꙇ'),
+ ('ꙉ', 'ꙉ'),
+ ('ꙋ', 'ꙋ'),
+ ('ꙍ', 'ꙍ'),
+ ('ꙏ', 'ꙏ'),
+ ('ꙑ', 'ꙑ'),
+ ('ꙓ', 'ꙓ'),
+ ('ꙕ', 'ꙕ'),
+ ('ꙗ', 'ꙗ'),
+ ('ꙙ', 'ꙙ'),
+ ('ꙛ', 'ꙛ'),
+ ('ꙝ', 'ꙝ'),
+ ('ꙟ', 'ꙟ'),
+ ('ꙡ', 'ꙡ'),
+ ('ꙣ', 'ꙣ'),
+ ('ꙥ', 'ꙥ'),
+ ('ꙧ', 'ꙧ'),
+ ('ꙩ', 'ꙩ'),
+ ('ꙫ', 'ꙫ'),
+ ('ꙭ', 'ꙭ'),
+ ('ꚁ', 'ꚁ'),
+ ('ꚃ', 'ꚃ'),
+ ('ꚅ', 'ꚅ'),
+ ('ꚇ', 'ꚇ'),
+ ('ꚉ', 'ꚉ'),
+ ('ꚋ', 'ꚋ'),
+ ('ꚍ', 'ꚍ'),
+ ('ꚏ', 'ꚏ'),
+ ('ꚑ', 'ꚑ'),
+ ('ꚓ', 'ꚓ'),
+ ('ꚕ', 'ꚕ'),
+ ('ꚗ', 'ꚗ'),
+ ('ꚙ', 'ꚙ'),
+ ('ꚛ', 'ꚝ'),
+ ('ꜣ', 'ꜣ'),
+ ('ꜥ', 'ꜥ'),
+ ('ꜧ', 'ꜧ'),
+ ('ꜩ', 'ꜩ'),
+ ('ꜫ', 'ꜫ'),
+ ('ꜭ', 'ꜭ'),
+ ('ꜯ', 'ꜱ'),
+ ('ꜳ', 'ꜳ'),
+ ('ꜵ', 'ꜵ'),
+ ('ꜷ', 'ꜷ'),
+ ('ꜹ', 'ꜹ'),
+ ('ꜻ', 'ꜻ'),
+ ('ꜽ', 'ꜽ'),
+ ('ꜿ', 'ꜿ'),
+ ('ꝁ', 'ꝁ'),
+ ('ꝃ', 'ꝃ'),
+ ('ꝅ', 'ꝅ'),
+ ('ꝇ', 'ꝇ'),
+ ('ꝉ', 'ꝉ'),
+ ('ꝋ', 'ꝋ'),
+ ('ꝍ', 'ꝍ'),
+ ('ꝏ', 'ꝏ'),
+ ('ꝑ', 'ꝑ'),
+ ('ꝓ', 'ꝓ'),
+ ('ꝕ', 'ꝕ'),
+ ('ꝗ', 'ꝗ'),
+ ('ꝙ', 'ꝙ'),
+ ('ꝛ', 'ꝛ'),
+ ('ꝝ', 'ꝝ'),
+ ('ꝟ', 'ꝟ'),
+ ('ꝡ', 'ꝡ'),
+ ('ꝣ', 'ꝣ'),
+ ('ꝥ', 'ꝥ'),
+ ('ꝧ', 'ꝧ'),
+ ('ꝩ', 'ꝩ'),
+ ('ꝫ', 'ꝫ'),
+ ('ꝭ', 'ꝭ'),
+ ('ꝯ', 'ꝸ'),
+ ('ꝺ', 'ꝺ'),
+ ('ꝼ', 'ꝼ'),
+ ('ꝿ', 'ꝿ'),
+ ('ꞁ', 'ꞁ'),
+ ('ꞃ', 'ꞃ'),
+ ('ꞅ', 'ꞅ'),
+ ('ꞇ', 'ꞇ'),
+ ('ꞌ', 'ꞌ'),
+ ('ꞎ', 'ꞎ'),
+ ('ꞑ', 'ꞑ'),
+ ('ꞓ', 'ꞕ'),
+ ('ꞗ', 'ꞗ'),
+ ('ꞙ', 'ꞙ'),
+ ('ꞛ', 'ꞛ'),
+ ('ꞝ', 'ꞝ'),
+ ('ꞟ', 'ꞟ'),
+ ('ꞡ', 'ꞡ'),
+ ('ꞣ', 'ꞣ'),
+ ('ꞥ', 'ꞥ'),
+ ('ꞧ', 'ꞧ'),
+ ('ꞩ', 'ꞩ'),
+ ('ꞯ', 'ꞯ'),
+ ('ꞵ', 'ꞵ'),
+ ('ꞷ', 'ꞷ'),
+ ('ꞹ', 'ꞹ'),
+ ('ꞻ', 'ꞻ'),
+ ('ꞽ', 'ꞽ'),
+ ('ꞿ', 'ꞿ'),
+ ('ꟁ', 'ꟁ'),
+ ('ꟃ', 'ꟃ'),
+ ('ꟈ', 'ꟈ'),
+ ('ꟊ', 'ꟊ'),
+ ('ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟕ'),
+ ('ꟗ', 'ꟗ'),
+ ('ꟙ', 'ꟙ'),
+ ('ꟲ', 'ꟴ'),
+ ('ꟶ', 'ꟶ'),
+ ('ꟸ', 'ꟺ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('a', 'z'),
+ ('𐐨', '𐑏'),
+ ('𐓘', '𐓻'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐞀', '𐞀'),
+ ('𐞃', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐳀', '𐳲'),
+ ('𑣀', '𑣟'),
+ ('𖹠', '𖹿'),
+ ('𝐚', '𝐳'),
+ ('𝑎', '𝑔'),
+ ('𝑖', '𝑧'),
+ ('𝒂', '𝒛'),
+ ('𝒶', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝓏'),
+ ('𝓪', '𝔃'),
+ ('𝔞', '𝔷'),
+ ('𝕒', '𝕫'),
+ ('𝖆', '𝖟'),
+ ('𝖺', '𝗓'),
+ ('𝗮', '𝘇'),
+ ('𝘢', '𝘻'),
+ ('𝙖', '𝙯'),
+ ('𝚊', '𝚥'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛡'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜛'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝕'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞏'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟉'),
+ ('𝟋', '𝟋'),
+ ('𝼀', '𝼉'),
+ ('𝼋', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞤢', '𞥃'),
+];
+
+pub const MATH: &'static [(char, char)] = &[
+ ('+', '+'),
+ ('<', '>'),
+ ('^', '^'),
+ ('|', '|'),
+ ('~', '~'),
+ ('¬', '¬'),
+ ('±', '±'),
+ ('×', '×'),
+ ('÷', '÷'),
+ ('ϐ', 'ϒ'),
+ ('ϕ', 'ϕ'),
+ ('ϰ', 'ϱ'),
+ ('ϴ', '϶'),
+ ('؆', '؈'),
+ ('‖', '‖'),
+ ('′', '‴'),
+ ('⁀', '⁀'),
+ ('⁄', '⁄'),
+ ('⁒', '⁒'),
+ ('\u{2061}', '\u{2064}'),
+ ('⁺', '⁾'),
+ ('₊', '₎'),
+ ('\u{20d0}', '\u{20dc}'),
+ ('\u{20e1}', '\u{20e1}'),
+ ('\u{20e5}', '\u{20e6}'),
+ ('\u{20eb}', '\u{20ef}'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('℘', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('ℨ', '℩'),
+ ('ℬ', 'ℭ'),
+ ('ℯ', 'ℱ'),
+ ('ℳ', 'ℸ'),
+ ('ℼ', 'ⅉ'),
+ ('⅋', '⅋'),
+ ('←', '↧'),
+ ('↩', '↮'),
+ ('↰', '↱'),
+ ('↶', '↷'),
+ ('↼', '⇛'),
+ ('⇝', '⇝'),
+ ('⇤', '⇥'),
+ ('⇴', '⋿'),
+ ('⌈', '⌋'),
+ ('⌠', '⌡'),
+ ('⍼', '⍼'),
+ ('⎛', '⎵'),
+ ('⎷', '⎷'),
+ ('⏐', '⏐'),
+ ('⏜', '⏢'),
+ ('■', '□'),
+ ('▮', '▷'),
+ ('▼', '◁'),
+ ('◆', '◇'),
+ ('◊', '○'),
+ ('●', '◓'),
+ ('◢', '◢'),
+ ('◤', '◤'),
+ ('◧', '◬'),
+ ('◸', '◿'),
+ ('★', '☆'),
+ ('♀', '♀'),
+ ('♂', '♂'),
+ ('♠', '♣'),
+ ('♭', '♯'),
+ ('⟀', '⟿'),
+ ('⤀', '⫿'),
+ ('⬰', '⭄'),
+ ('⭇', '⭌'),
+ ('﬩', '﬩'),
+ ('﹡', '﹦'),
+ ('﹨', '﹨'),
+ ('+', '+'),
+ ('<', '>'),
+ ('\', '\'),
+ ('^', '^'),
+ ('|', '|'),
+ ('~', '~'),
+ ('¬', '¬'),
+ ('←', '↓'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𞻰', '𞻱'),
+];
+
+pub const NONCHARACTER_CODE_POINT: &'static [(char, char)] = &[
+ ('\u{fdd0}', '\u{fdef}'),
+ ('\u{fffe}', '\u{ffff}'),
+ ('\u{1fffe}', '\u{1ffff}'),
+ ('\u{2fffe}', '\u{2ffff}'),
+ ('\u{3fffe}', '\u{3ffff}'),
+ ('\u{4fffe}', '\u{4ffff}'),
+ ('\u{5fffe}', '\u{5ffff}'),
+ ('\u{6fffe}', '\u{6ffff}'),
+ ('\u{7fffe}', '\u{7ffff}'),
+ ('\u{8fffe}', '\u{8ffff}'),
+ ('\u{9fffe}', '\u{9ffff}'),
+ ('\u{afffe}', '\u{affff}'),
+ ('\u{bfffe}', '\u{bffff}'),
+ ('\u{cfffe}', '\u{cffff}'),
+ ('\u{dfffe}', '\u{dffff}'),
+ ('\u{efffe}', '\u{effff}'),
+ ('\u{ffffe}', '\u{fffff}'),
+ ('\u{10fffe}', '\u{10ffff}'),
+];
+
+pub const OTHER_ALPHABETIC: &'static [(char, char)] = &[
+ ('\u{345}', '\u{345}'),
+ ('\u{5b0}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{657}'),
+ ('\u{659}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6e1}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ed}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{73f}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{816}', '\u{817}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82c}'),
+ ('\u{8d4}', '\u{8df}'),
+ ('\u{8e3}', '\u{8e9}'),
+ ('\u{8f0}', 'ः'),
+ ('\u{93a}', 'ऻ'),
+ ('ा', 'ौ'),
+ ('ॎ', 'ॏ'),
+ ('\u{955}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', 'ঃ'),
+ ('\u{9be}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৌ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{a01}', 'ਃ'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4c}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('ા', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', 'ૌ'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{afc}'),
+ ('\u{b01}', 'ଃ'),
+ ('\u{b3e}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', 'ୌ'),
+ ('\u{b56}', '\u{b57}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', 'ௌ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', '\u{c04}'),
+ ('\u{c3e}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4c}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', 'ಃ'),
+ ('ಾ', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccc}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('ೳ', 'ೳ'),
+ ('\u{d00}', 'ഃ'),
+ ('\u{d3e}', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൌ'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', 'ඃ'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', 'ෳ'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e4d}', '\u{e4d}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{eb9}'),
+ ('\u{ebb}', '\u{ebc}'),
+ ('\u{ecd}', '\u{ecd}'),
+ ('\u{f71}', '\u{f83}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('ါ', '\u{1036}'),
+ ('း', 'း'),
+ ('ျ', '\u{103e}'),
+ ('ၖ', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('ၢ', 'ၤ'),
+ ('ၧ', 'ၭ'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{108d}'),
+ ('ႏ', 'ႏ'),
+ ('ႚ', '\u{109d}'),
+ ('\u{1712}', '\u{1713}'),
+ ('\u{1732}', '\u{1733}'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('ា', 'ៈ'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', 'ᤸ'),
+ ('\u{1a17}', '\u{1a1b}'),
+ ('ᩕ', '\u{1a5e}'),
+ ('ᩡ', '\u{1a74}'),
+ ('\u{1abf}', '\u{1ac0}'),
+ ('\u{1acc}', '\u{1ace}'),
+ ('\u{1b00}', 'ᬄ'),
+ ('\u{1b35}', 'ᭃ'),
+ ('\u{1b80}', 'ᮂ'),
+ ('ᮡ', '\u{1ba9}'),
+ ('\u{1bac}', '\u{1bad}'),
+ ('ᯧ', '\u{1bf1}'),
+ ('ᰤ', '\u{1c36}'),
+ ('\u{1de7}', '\u{1df4}'),
+ ('Ⓐ', 'ⓩ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{a674}', '\u{a67b}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('ꠣ', 'ꠧ'),
+ ('ꢀ', 'ꢁ'),
+ ('ꢴ', 'ꣃ'),
+ ('\u{a8c5}', '\u{a8c5}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92a}'),
+ ('\u{a947}', 'ꥒ'),
+ ('\u{a980}', 'ꦃ'),
+ ('ꦴ', 'ꦿ'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', 'ꩍ'),
+ ('ꩻ', 'ꩽ'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabe}'),
+ ('ꫫ', 'ꫯ'),
+ ('ꫵ', 'ꫵ'),
+ ('ꯣ', 'ꯪ'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('𑀀', '𑀂'),
+ ('\u{11038}', '\u{11045}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{11080}', '𑂂'),
+ ('𑂰', '𑂸'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{11132}'),
+ ('𑅅', '𑅆'),
+ ('\u{11180}', '𑆂'),
+ ('𑆳', '𑆿'),
+ ('𑇎', '\u{111cf}'),
+ ('𑈬', '\u{11234}'),
+ ('\u{11237}', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112e8}'),
+ ('\u{11300}', '𑌃'),
+ ('\u{1133e}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍌'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍢', '𑍣'),
+ ('𑐵', '𑑁'),
+ ('\u{11443}', '𑑅'),
+ ('\u{114b0}', '𑓁'),
+ ('\u{115af}', '\u{115b5}'),
+ ('𑖸', '𑖾'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('𑘰', '𑘾'),
+ ('\u{11640}', '\u{11640}'),
+ ('\u{116ab}', '\u{116b5}'),
+ ('\u{1171d}', '\u{1172a}'),
+ ('𑠬', '𑠸'),
+ ('\u{11930}', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{1193c}'),
+ ('𑥀', '𑥀'),
+ ('𑥂', '𑥂'),
+ ('𑧑', '\u{119d7}'),
+ ('\u{119da}', '𑧟'),
+ ('𑧤', '𑧤'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a35}', '𑨹'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a51}', '\u{11a5b}'),
+ ('\u{11a8a}', '𑪗'),
+ ('𑰯', '\u{11c36}'),
+ ('\u{11c38}', '𑰾'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d41}'),
+ ('\u{11d43}', '\u{11d43}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('𑶊', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶖'),
+ ('\u{11ef3}', '𑻶'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('𑼃', '𑼃'),
+ ('𑼴', '\u{11f3a}'),
+ ('𑼾', '\u{11f40}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('𖽑', '𖾇'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('𖿰', '𖿱'),
+ ('\u{1bc9e}', '\u{1bc9e}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e947}', '\u{1e947}'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+];
+
+pub const OTHER_DEFAULT_IGNORABLE_CODE_POINT: &'static [(char, char)] = &[
+ ('\u{34f}', '\u{34f}'),
+ ('ᅟ', 'ᅠ'),
+ ('\u{17b4}', '\u{17b5}'),
+ ('\u{2065}', '\u{2065}'),
+ ('ㅤ', 'ㅤ'),
+ ('ᅠ', 'ᅠ'),
+ ('\u{fff0}', '\u{fff8}'),
+ ('\u{e0000}', '\u{e0000}'),
+ ('\u{e0002}', '\u{e001f}'),
+ ('\u{e0080}', '\u{e00ff}'),
+ ('\u{e01f0}', '\u{e0fff}'),
+];
+
+pub const OTHER_GRAPHEME_EXTEND: &'static [(char, char)] = &[
+ ('\u{9be}', '\u{9be}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{b3e}', '\u{b3e}'),
+ ('\u{b57}', '\u{b57}'),
+ ('\u{bbe}', '\u{bbe}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{cc2}', '\u{cc2}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{d3e}', '\u{d3e}'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{dcf}', '\u{dcf}'),
+ ('\u{ddf}', '\u{ddf}'),
+ ('\u{1b35}', '\u{1b35}'),
+ ('\u{200c}', '\u{200c}'),
+ ('\u{302e}', '\u{302f}'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('\u{1133e}', '\u{1133e}'),
+ ('\u{11357}', '\u{11357}'),
+ ('\u{114b0}', '\u{114b0}'),
+ ('\u{114bd}', '\u{114bd}'),
+ ('\u{115af}', '\u{115af}'),
+ ('\u{11930}', '\u{11930}'),
+ ('\u{1d165}', '\u{1d165}'),
+ ('\u{1d16e}', '\u{1d172}'),
+ ('\u{e0020}', '\u{e007f}'),
+];
+
+pub const OTHER_ID_CONTINUE: &'static [(char, char)] =
+ &[('·', '·'), ('·', '·'), ('፩', '፱'), ('᧚', '᧚')];
+
+pub const OTHER_ID_START: &'static [(char, char)] =
+ &[('\u{1885}', '\u{1886}'), ('℘', '℘'), ('℮', '℮'), ('゛', '゜')];
+
+pub const OTHER_LOWERCASE: &'static [(char, char)] = &[
+ ('ª', 'ª'),
+ ('º', 'º'),
+ ('ʰ', 'ʸ'),
+ ('ˀ', 'ˁ'),
+ ('ˠ', 'ˤ'),
+ ('\u{345}', '\u{345}'),
+ ('ͺ', 'ͺ'),
+ ('ჼ', 'ჼ'),
+ ('ᴬ', 'ᵪ'),
+ ('ᵸ', 'ᵸ'),
+ ('ᶛ', 'ᶿ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ⅰ', 'ⅿ'),
+ ('ⓐ', 'ⓩ'),
+ ('ⱼ', 'ⱽ'),
+ ('ꚜ', 'ꚝ'),
+ ('ꝰ', 'ꝰ'),
+ ('ꟲ', 'ꟴ'),
+ ('ꟸ', 'ꟹ'),
+ ('ꭜ', 'ꭟ'),
+ ('ꭩ', 'ꭩ'),
+ ('𐞀', '𐞀'),
+ ('𐞃', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𞀰', '𞁭'),
+];
+
+pub const OTHER_MATH: &'static [(char, char)] = &[
+ ('^', '^'),
+ ('ϐ', 'ϒ'),
+ ('ϕ', 'ϕ'),
+ ('ϰ', 'ϱ'),
+ ('ϴ', 'ϵ'),
+ ('‖', '‖'),
+ ('′', '‴'),
+ ('⁀', '⁀'),
+ ('\u{2061}', '\u{2064}'),
+ ('⁽', '⁾'),
+ ('₍', '₎'),
+ ('\u{20d0}', '\u{20dc}'),
+ ('\u{20e1}', '\u{20e1}'),
+ ('\u{20e5}', '\u{20e6}'),
+ ('\u{20eb}', '\u{20ef}'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('ℨ', '℩'),
+ ('ℬ', 'ℭ'),
+ ('ℯ', 'ℱ'),
+ ('ℳ', 'ℸ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('↕', '↙'),
+ ('↜', '↟'),
+ ('↡', '↢'),
+ ('↤', '↥'),
+ ('↧', '↧'),
+ ('↩', '↭'),
+ ('↰', '↱'),
+ ('↶', '↷'),
+ ('↼', '⇍'),
+ ('⇐', '⇑'),
+ ('⇓', '⇓'),
+ ('⇕', '⇛'),
+ ('⇝', '⇝'),
+ ('⇤', '⇥'),
+ ('⌈', '⌋'),
+ ('⎴', '⎵'),
+ ('⎷', '⎷'),
+ ('⏐', '⏐'),
+ ('⏢', '⏢'),
+ ('■', '□'),
+ ('▮', '▶'),
+ ('▼', '◀'),
+ ('◆', '◇'),
+ ('◊', '○'),
+ ('●', '◓'),
+ ('◢', '◢'),
+ ('◤', '◤'),
+ ('◧', '◬'),
+ ('★', '☆'),
+ ('♀', '♀'),
+ ('♂', '♂'),
+ ('♠', '♣'),
+ ('♭', '♮'),
+ ('⟅', '⟆'),
+ ('⟦', '⟯'),
+ ('⦃', '⦘'),
+ ('⧘', '⧛'),
+ ('⧼', '⧽'),
+ ('﹡', '﹡'),
+ ('﹣', '﹣'),
+ ('﹨', '﹨'),
+ ('\', '\'),
+ ('^', '^'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+];
+
+pub const OTHER_UPPERCASE: &'static [(char, char)] =
+ &[('Ⅰ', 'Ⅿ'), ('Ⓐ', 'Ⓩ'), ('🄰', '🅉'), ('🅐', '🅩'), ('🅰', '🆉')];
+
+pub const PATTERN_SYNTAX: &'static [(char, char)] = &[
+ ('!', '/'),
+ (':', '@'),
+ ('[', '^'),
+ ('`', '`'),
+ ('{', '~'),
+ ('¡', '§'),
+ ('©', '©'),
+ ('«', '¬'),
+ ('®', '®'),
+ ('°', '±'),
+ ('¶', '¶'),
+ ('»', '»'),
+ ('¿', '¿'),
+ ('×', '×'),
+ ('÷', '÷'),
+ ('‐', '‧'),
+ ('‰', '‾'),
+ ('⁁', '⁓'),
+ ('⁕', '⁞'),
+ ('←', '\u{245f}'),
+ ('─', '❵'),
+ ('➔', '⯿'),
+ ('⸀', '\u{2e7f}'),
+ ('、', '〃'),
+ ('〈', '〠'),
+ ('〰', '〰'),
+ ('﴾', '﴿'),
+ ('﹅', '﹆'),
+];
+
+pub const PATTERN_WHITE_SPACE: &'static [(char, char)] = &[
+ ('\t', '\r'),
+ (' ', ' '),
+ ('\u{85}', '\u{85}'),
+ ('\u{200e}', '\u{200f}'),
+ ('\u{2028}', '\u{2029}'),
+];
+
+pub const PREPENDED_CONCATENATION_MARK: &'static [(char, char)] = &[
+ ('\u{600}', '\u{605}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{70f}', '\u{70f}'),
+ ('\u{890}', '\u{891}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110cd}', '\u{110cd}'),
+];
+
+pub const QUOTATION_MARK: &'static [(char, char)] = &[
+ ('"', '"'),
+ ('\'', '\''),
+ ('«', '«'),
+ ('»', '»'),
+ ('‘', '‟'),
+ ('‹', '›'),
+ ('⹂', '⹂'),
+ ('「', '』'),
+ ('〝', '〟'),
+ ('﹁', '﹄'),
+ ('"', '"'),
+ (''', '''),
+ ('「', '」'),
+];
+
+pub const RADICAL: &'static [(char, char)] =
+ &[('⺀', '⺙'), ('⺛', '⻳'), ('⼀', '⿕')];
+
+pub const REGIONAL_INDICATOR: &'static [(char, char)] = &[('🇦', '🇿')];
+
+pub const SENTENCE_TERMINAL: &'static [(char, char)] = &[
+ ('!', '!'),
+ ('.', '.'),
+ ('?', '?'),
+ ('։', '։'),
+ ('؝', '؟'),
+ ('۔', '۔'),
+ ('܀', '܂'),
+ ('߹', '߹'),
+ ('࠷', '࠷'),
+ ('࠹', '࠹'),
+ ('࠽', '࠾'),
+ ('।', '॥'),
+ ('၊', '။'),
+ ('።', '።'),
+ ('፧', '፨'),
+ ('᙮', '᙮'),
+ ('᜵', '᜶'),
+ ('᠃', '᠃'),
+ ('᠉', '᠉'),
+ ('᥄', '᥅'),
+ ('᪨', '᪫'),
+ ('᭚', '᭛'),
+ ('᭞', '᭟'),
+ ('᭽', '᭾'),
+ ('᰻', '᰼'),
+ ('᱾', '᱿'),
+ ('‼', '‽'),
+ ('⁇', '⁉'),
+ ('⸮', '⸮'),
+ ('⸼', '⸼'),
+ ('⹓', '⹔'),
+ ('。', '。'),
+ ('꓿', '꓿'),
+ ('꘎', '꘏'),
+ ('꛳', '꛳'),
+ ('꛷', '꛷'),
+ ('꡶', '꡷'),
+ ('꣎', '꣏'),
+ ('꤯', '꤯'),
+ ('꧈', '꧉'),
+ ('꩝', '꩟'),
+ ('꫰', '꫱'),
+ ('꯫', '꯫'),
+ ('﹒', '﹒'),
+ ('﹖', '﹗'),
+ ('!', '!'),
+ ('.', '.'),
+ ('?', '?'),
+ ('。', '。'),
+ ('𐩖', '𐩗'),
+ ('𐽕', '𐽙'),
+ ('𐾆', '𐾉'),
+ ('𑁇', '𑁈'),
+ ('𑂾', '𑃁'),
+ ('𑅁', '𑅃'),
+ ('𑇅', '𑇆'),
+ ('𑇍', '𑇍'),
+ ('𑇞', '𑇟'),
+ ('𑈸', '𑈹'),
+ ('𑈻', '𑈼'),
+ ('𑊩', '𑊩'),
+ ('𑑋', '𑑌'),
+ ('𑗂', '𑗃'),
+ ('𑗉', '𑗗'),
+ ('𑙁', '𑙂'),
+ ('𑜼', '𑜾'),
+ ('𑥄', '𑥄'),
+ ('𑥆', '𑥆'),
+ ('𑩂', '𑩃'),
+ ('𑪛', '𑪜'),
+ ('𑱁', '𑱂'),
+ ('𑻷', '𑻸'),
+ ('𑽃', '𑽄'),
+ ('𖩮', '𖩯'),
+ ('𖫵', '𖫵'),
+ ('𖬷', '𖬸'),
+ ('𖭄', '𖭄'),
+ ('𖺘', '𖺘'),
+ ('𛲟', '𛲟'),
+ ('𝪈', '𝪈'),
+];
+
+pub const SOFT_DOTTED: &'static [(char, char)] = &[
+ ('i', 'j'),
+ ('į', 'į'),
+ ('ɉ', 'ɉ'),
+ ('ɨ', 'ɨ'),
+ ('ʝ', 'ʝ'),
+ ('ʲ', 'ʲ'),
+ ('ϳ', 'ϳ'),
+ ('і', 'і'),
+ ('ј', 'ј'),
+ ('ᵢ', 'ᵢ'),
+ ('ᶖ', 'ᶖ'),
+ ('ᶤ', 'ᶤ'),
+ ('ᶨ', 'ᶨ'),
+ ('ḭ', 'ḭ'),
+ ('ị', 'ị'),
+ ('ⁱ', 'ⁱ'),
+ ('ⅈ', 'ⅉ'),
+ ('ⱼ', 'ⱼ'),
+ ('𝐢', '𝐣'),
+ ('𝑖', '𝑗'),
+ ('𝒊', '𝒋'),
+ ('𝒾', '𝒿'),
+ ('𝓲', '𝓳'),
+ ('𝔦', '𝔧'),
+ ('𝕚', '𝕛'),
+ ('𝖎', '𝖏'),
+ ('𝗂', '𝗃'),
+ ('𝗶', '𝗷'),
+ ('𝘪', '𝘫'),
+ ('𝙞', '𝙟'),
+ ('𝚒', '𝚓'),
+ ('𝼚', '𝼚'),
+ ('𞁌', '𞁍'),
+ ('𞁨', '𞁨'),
+];
+
+pub const TERMINAL_PUNCTUATION: &'static [(char, char)] = &[
+ ('!', '!'),
+ (',', ','),
+ ('.', '.'),
+ (':', ';'),
+ ('?', '?'),
+ (';', ';'),
+ ('·', '·'),
+ ('։', '։'),
+ ('׃', '׃'),
+ ('،', '،'),
+ ('؛', '؛'),
+ ('؝', '؟'),
+ ('۔', '۔'),
+ ('܀', '܊'),
+ ('܌', '܌'),
+ ('߸', '߹'),
+ ('࠰', '࠾'),
+ ('࡞', '࡞'),
+ ('।', '॥'),
+ ('๚', '๛'),
+ ('༈', '༈'),
+ ('།', '༒'),
+ ('၊', '။'),
+ ('፡', '፨'),
+ ('᙮', '᙮'),
+ ('᛫', '᛭'),
+ ('᜵', '᜶'),
+ ('។', '៖'),
+ ('៚', '៚'),
+ ('᠂', '᠅'),
+ ('᠈', '᠉'),
+ ('᥄', '᥅'),
+ ('᪨', '᪫'),
+ ('᭚', '᭛'),
+ ('᭝', '᭟'),
+ ('᭽', '᭾'),
+ ('᰻', '᰿'),
+ ('᱾', '᱿'),
+ ('‼', '‽'),
+ ('⁇', '⁉'),
+ ('⸮', '⸮'),
+ ('⸼', '⸼'),
+ ('⹁', '⹁'),
+ ('⹌', '⹌'),
+ ('⹎', '⹏'),
+ ('⹓', '⹔'),
+ ('、', '。'),
+ ('꓾', '꓿'),
+ ('꘍', '꘏'),
+ ('꛳', '꛷'),
+ ('꡶', '꡷'),
+ ('꣎', '꣏'),
+ ('꤯', '꤯'),
+ ('꧇', '꧉'),
+ ('꩝', '꩟'),
+ ('꫟', '꫟'),
+ ('꫰', '꫱'),
+ ('꯫', '꯫'),
+ ('﹐', '﹒'),
+ ('﹔', '﹗'),
+ ('!', '!'),
+ (',', ','),
+ ('.', '.'),
+ (':', ';'),
+ ('?', '?'),
+ ('。', '。'),
+ ('、', '、'),
+ ('𐎟', '𐎟'),
+ ('𐏐', '𐏐'),
+ ('𐡗', '𐡗'),
+ ('𐤟', '𐤟'),
+ ('𐩖', '𐩗'),
+ ('𐫰', '𐫵'),
+ ('𐬺', '𐬿'),
+ ('𐮙', '𐮜'),
+ ('𐽕', '𐽙'),
+ ('𐾆', '𐾉'),
+ ('𑁇', '𑁍'),
+ ('𑂾', '𑃁'),
+ ('𑅁', '𑅃'),
+ ('𑇅', '𑇆'),
+ ('𑇍', '𑇍'),
+ ('𑇞', '𑇟'),
+ ('𑈸', '𑈼'),
+ ('𑊩', '𑊩'),
+ ('𑑋', '𑑍'),
+ ('𑑚', '𑑛'),
+ ('𑗂', '𑗅'),
+ ('𑗉', '𑗗'),
+ ('𑙁', '𑙂'),
+ ('𑜼', '𑜾'),
+ ('𑥄', '𑥄'),
+ ('𑥆', '𑥆'),
+ ('𑩂', '𑩃'),
+ ('𑪛', '𑪜'),
+ ('𑪡', '𑪢'),
+ ('𑱁', '𑱃'),
+ ('𑱱', '𑱱'),
+ ('𑻷', '𑻸'),
+ ('𑽃', '𑽄'),
+ ('𒑰', '𒑴'),
+ ('𖩮', '𖩯'),
+ ('𖫵', '𖫵'),
+ ('𖬷', '𖬹'),
+ ('𖭄', '𖭄'),
+ ('𖺗', '𖺘'),
+ ('𛲟', '𛲟'),
+ ('𝪇', '𝪊'),
+];
+
+pub const UNIFIED_IDEOGRAPH: &'static [(char, char)] = &[
+ ('㐀', '䶿'),
+ ('一', '鿿'),
+ ('﨎', '﨏'),
+ ('﨑', '﨑'),
+ ('﨓', '﨔'),
+ ('﨟', '﨟'),
+ ('﨡', '﨡'),
+ ('﨣', '﨤'),
+ ('﨧', '﨩'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const UPPERCASE: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('À', 'Ö'),
+ ('Ø', 'Þ'),
+ ('Ā', 'Ā'),
+ ('Ă', 'Ă'),
+ ('Ą', 'Ą'),
+ ('Ć', 'Ć'),
+ ('Ĉ', 'Ĉ'),
+ ('Ċ', 'Ċ'),
+ ('Č', 'Č'),
+ ('Ď', 'Ď'),
+ ('Đ', 'Đ'),
+ ('Ē', 'Ē'),
+ ('Ĕ', 'Ĕ'),
+ ('Ė', 'Ė'),
+ ('Ę', 'Ę'),
+ ('Ě', 'Ě'),
+ ('Ĝ', 'Ĝ'),
+ ('Ğ', 'Ğ'),
+ ('Ġ', 'Ġ'),
+ ('Ģ', 'Ģ'),
+ ('Ĥ', 'Ĥ'),
+ ('Ħ', 'Ħ'),
+ ('Ĩ', 'Ĩ'),
+ ('Ī', 'Ī'),
+ ('Ĭ', 'Ĭ'),
+ ('Į', 'Į'),
+ ('İ', 'İ'),
+ ('IJ', 'IJ'),
+ ('Ĵ', 'Ĵ'),
+ ('Ķ', 'Ķ'),
+ ('Ĺ', 'Ĺ'),
+ ('Ļ', 'Ļ'),
+ ('Ľ', 'Ľ'),
+ ('Ŀ', 'Ŀ'),
+ ('Ł', 'Ł'),
+ ('Ń', 'Ń'),
+ ('Ņ', 'Ņ'),
+ ('Ň', 'Ň'),
+ ('Ŋ', 'Ŋ'),
+ ('Ō', 'Ō'),
+ ('Ŏ', 'Ŏ'),
+ ('Ő', 'Ő'),
+ ('Œ', 'Œ'),
+ ('Ŕ', 'Ŕ'),
+ ('Ŗ', 'Ŗ'),
+ ('Ř', 'Ř'),
+ ('Ś', 'Ś'),
+ ('Ŝ', 'Ŝ'),
+ ('Ş', 'Ş'),
+ ('Š', 'Š'),
+ ('Ţ', 'Ţ'),
+ ('Ť', 'Ť'),
+ ('Ŧ', 'Ŧ'),
+ ('Ũ', 'Ũ'),
+ ('Ū', 'Ū'),
+ ('Ŭ', 'Ŭ'),
+ ('Ů', 'Ů'),
+ ('Ű', 'Ű'),
+ ('Ų', 'Ų'),
+ ('Ŵ', 'Ŵ'),
+ ('Ŷ', 'Ŷ'),
+ ('Ÿ', 'Ź'),
+ ('Ż', 'Ż'),
+ ('Ž', 'Ž'),
+ ('Ɓ', 'Ƃ'),
+ ('Ƅ', 'Ƅ'),
+ ('Ɔ', 'Ƈ'),
+ ('Ɖ', 'Ƌ'),
+ ('Ǝ', 'Ƒ'),
+ ('Ɠ', 'Ɣ'),
+ ('Ɩ', 'Ƙ'),
+ ('Ɯ', 'Ɲ'),
+ ('Ɵ', 'Ơ'),
+ ('Ƣ', 'Ƣ'),
+ ('Ƥ', 'Ƥ'),
+ ('Ʀ', 'Ƨ'),
+ ('Ʃ', 'Ʃ'),
+ ('Ƭ', 'Ƭ'),
+ ('Ʈ', 'Ư'),
+ ('Ʊ', 'Ƴ'),
+ ('Ƶ', 'Ƶ'),
+ ('Ʒ', 'Ƹ'),
+ ('Ƽ', 'Ƽ'),
+ ('DŽ', 'DŽ'),
+ ('LJ', 'LJ'),
+ ('NJ', 'NJ'),
+ ('Ǎ', 'Ǎ'),
+ ('Ǐ', 'Ǐ'),
+ ('Ǒ', 'Ǒ'),
+ ('Ǔ', 'Ǔ'),
+ ('Ǖ', 'Ǖ'),
+ ('Ǘ', 'Ǘ'),
+ ('Ǚ', 'Ǚ'),
+ ('Ǜ', 'Ǜ'),
+ ('Ǟ', 'Ǟ'),
+ ('Ǡ', 'Ǡ'),
+ ('Ǣ', 'Ǣ'),
+ ('Ǥ', 'Ǥ'),
+ ('Ǧ', 'Ǧ'),
+ ('Ǩ', 'Ǩ'),
+ ('Ǫ', 'Ǫ'),
+ ('Ǭ', 'Ǭ'),
+ ('Ǯ', 'Ǯ'),
+ ('DZ', 'DZ'),
+ ('Ǵ', 'Ǵ'),
+ ('Ƕ', 'Ǹ'),
+ ('Ǻ', 'Ǻ'),
+ ('Ǽ', 'Ǽ'),
+ ('Ǿ', 'Ǿ'),
+ ('Ȁ', 'Ȁ'),
+ ('Ȃ', 'Ȃ'),
+ ('Ȅ', 'Ȅ'),
+ ('Ȇ', 'Ȇ'),
+ ('Ȉ', 'Ȉ'),
+ ('Ȋ', 'Ȋ'),
+ ('Ȍ', 'Ȍ'),
+ ('Ȏ', 'Ȏ'),
+ ('Ȑ', 'Ȑ'),
+ ('Ȓ', 'Ȓ'),
+ ('Ȕ', 'Ȕ'),
+ ('Ȗ', 'Ȗ'),
+ ('Ș', 'Ș'),
+ ('Ț', 'Ț'),
+ ('Ȝ', 'Ȝ'),
+ ('Ȟ', 'Ȟ'),
+ ('Ƞ', 'Ƞ'),
+ ('Ȣ', 'Ȣ'),
+ ('Ȥ', 'Ȥ'),
+ ('Ȧ', 'Ȧ'),
+ ('Ȩ', 'Ȩ'),
+ ('Ȫ', 'Ȫ'),
+ ('Ȭ', 'Ȭ'),
+ ('Ȯ', 'Ȯ'),
+ ('Ȱ', 'Ȱ'),
+ ('Ȳ', 'Ȳ'),
+ ('Ⱥ', 'Ȼ'),
+ ('Ƚ', 'Ⱦ'),
+ ('Ɂ', 'Ɂ'),
+ ('Ƀ', 'Ɇ'),
+ ('Ɉ', 'Ɉ'),
+ ('Ɋ', 'Ɋ'),
+ ('Ɍ', 'Ɍ'),
+ ('Ɏ', 'Ɏ'),
+ ('Ͱ', 'Ͱ'),
+ ('Ͳ', 'Ͳ'),
+ ('Ͷ', 'Ͷ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ώ'),
+ ('Α', 'Ρ'),
+ ('Σ', 'Ϋ'),
+ ('Ϗ', 'Ϗ'),
+ ('ϒ', 'ϔ'),
+ ('Ϙ', 'Ϙ'),
+ ('Ϛ', 'Ϛ'),
+ ('Ϝ', 'Ϝ'),
+ ('Ϟ', 'Ϟ'),
+ ('Ϡ', 'Ϡ'),
+ ('Ϣ', 'Ϣ'),
+ ('Ϥ', 'Ϥ'),
+ ('Ϧ', 'Ϧ'),
+ ('Ϩ', 'Ϩ'),
+ ('Ϫ', 'Ϫ'),
+ ('Ϭ', 'Ϭ'),
+ ('Ϯ', 'Ϯ'),
+ ('ϴ', 'ϴ'),
+ ('Ϸ', 'Ϸ'),
+ ('Ϲ', 'Ϻ'),
+ ('Ͻ', 'Я'),
+ ('Ѡ', 'Ѡ'),
+ ('Ѣ', 'Ѣ'),
+ ('Ѥ', 'Ѥ'),
+ ('Ѧ', 'Ѧ'),
+ ('Ѩ', 'Ѩ'),
+ ('Ѫ', 'Ѫ'),
+ ('Ѭ', 'Ѭ'),
+ ('Ѯ', 'Ѯ'),
+ ('Ѱ', 'Ѱ'),
+ ('Ѳ', 'Ѳ'),
+ ('Ѵ', 'Ѵ'),
+ ('Ѷ', 'Ѷ'),
+ ('Ѹ', 'Ѹ'),
+ ('Ѻ', 'Ѻ'),
+ ('Ѽ', 'Ѽ'),
+ ('Ѿ', 'Ѿ'),
+ ('Ҁ', 'Ҁ'),
+ ('Ҋ', 'Ҋ'),
+ ('Ҍ', 'Ҍ'),
+ ('Ҏ', 'Ҏ'),
+ ('Ґ', 'Ґ'),
+ ('Ғ', 'Ғ'),
+ ('Ҕ', 'Ҕ'),
+ ('Җ', 'Җ'),
+ ('Ҙ', 'Ҙ'),
+ ('Қ', 'Қ'),
+ ('Ҝ', 'Ҝ'),
+ ('Ҟ', 'Ҟ'),
+ ('Ҡ', 'Ҡ'),
+ ('Ң', 'Ң'),
+ ('Ҥ', 'Ҥ'),
+ ('Ҧ', 'Ҧ'),
+ ('Ҩ', 'Ҩ'),
+ ('Ҫ', 'Ҫ'),
+ ('Ҭ', 'Ҭ'),
+ ('Ү', 'Ү'),
+ ('Ұ', 'Ұ'),
+ ('Ҳ', 'Ҳ'),
+ ('Ҵ', 'Ҵ'),
+ ('Ҷ', 'Ҷ'),
+ ('Ҹ', 'Ҹ'),
+ ('Һ', 'Һ'),
+ ('Ҽ', 'Ҽ'),
+ ('Ҿ', 'Ҿ'),
+ ('Ӏ', 'Ӂ'),
+ ('Ӄ', 'Ӄ'),
+ ('Ӆ', 'Ӆ'),
+ ('Ӈ', 'Ӈ'),
+ ('Ӊ', 'Ӊ'),
+ ('Ӌ', 'Ӌ'),
+ ('Ӎ', 'Ӎ'),
+ ('Ӑ', 'Ӑ'),
+ ('Ӓ', 'Ӓ'),
+ ('Ӕ', 'Ӕ'),
+ ('Ӗ', 'Ӗ'),
+ ('Ә', 'Ә'),
+ ('Ӛ', 'Ӛ'),
+ ('Ӝ', 'Ӝ'),
+ ('Ӟ', 'Ӟ'),
+ ('Ӡ', 'Ӡ'),
+ ('Ӣ', 'Ӣ'),
+ ('Ӥ', 'Ӥ'),
+ ('Ӧ', 'Ӧ'),
+ ('Ө', 'Ө'),
+ ('Ӫ', 'Ӫ'),
+ ('Ӭ', 'Ӭ'),
+ ('Ӯ', 'Ӯ'),
+ ('Ӱ', 'Ӱ'),
+ ('Ӳ', 'Ӳ'),
+ ('Ӵ', 'Ӵ'),
+ ('Ӷ', 'Ӷ'),
+ ('Ӹ', 'Ӹ'),
+ ('Ӻ', 'Ӻ'),
+ ('Ӽ', 'Ӽ'),
+ ('Ӿ', 'Ӿ'),
+ ('Ԁ', 'Ԁ'),
+ ('Ԃ', 'Ԃ'),
+ ('Ԅ', 'Ԅ'),
+ ('Ԇ', 'Ԇ'),
+ ('Ԉ', 'Ԉ'),
+ ('Ԋ', 'Ԋ'),
+ ('Ԍ', 'Ԍ'),
+ ('Ԏ', 'Ԏ'),
+ ('Ԑ', 'Ԑ'),
+ ('Ԓ', 'Ԓ'),
+ ('Ԕ', 'Ԕ'),
+ ('Ԗ', 'Ԗ'),
+ ('Ԙ', 'Ԙ'),
+ ('Ԛ', 'Ԛ'),
+ ('Ԝ', 'Ԝ'),
+ ('Ԟ', 'Ԟ'),
+ ('Ԡ', 'Ԡ'),
+ ('Ԣ', 'Ԣ'),
+ ('Ԥ', 'Ԥ'),
+ ('Ԧ', 'Ԧ'),
+ ('Ԩ', 'Ԩ'),
+ ('Ԫ', 'Ԫ'),
+ ('Ԭ', 'Ԭ'),
+ ('Ԯ', 'Ԯ'),
+ ('Ա', 'Ֆ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('Ḁ', 'Ḁ'),
+ ('Ḃ', 'Ḃ'),
+ ('Ḅ', 'Ḅ'),
+ ('Ḇ', 'Ḇ'),
+ ('Ḉ', 'Ḉ'),
+ ('Ḋ', 'Ḋ'),
+ ('Ḍ', 'Ḍ'),
+ ('Ḏ', 'Ḏ'),
+ ('Ḑ', 'Ḑ'),
+ ('Ḓ', 'Ḓ'),
+ ('Ḕ', 'Ḕ'),
+ ('Ḗ', 'Ḗ'),
+ ('Ḙ', 'Ḙ'),
+ ('Ḛ', 'Ḛ'),
+ ('Ḝ', 'Ḝ'),
+ ('Ḟ', 'Ḟ'),
+ ('Ḡ', 'Ḡ'),
+ ('Ḣ', 'Ḣ'),
+ ('Ḥ', 'Ḥ'),
+ ('Ḧ', 'Ḧ'),
+ ('Ḩ', 'Ḩ'),
+ ('Ḫ', 'Ḫ'),
+ ('Ḭ', 'Ḭ'),
+ ('Ḯ', 'Ḯ'),
+ ('Ḱ', 'Ḱ'),
+ ('Ḳ', 'Ḳ'),
+ ('Ḵ', 'Ḵ'),
+ ('Ḷ', 'Ḷ'),
+ ('Ḹ', 'Ḹ'),
+ ('Ḻ', 'Ḻ'),
+ ('Ḽ', 'Ḽ'),
+ ('Ḿ', 'Ḿ'),
+ ('Ṁ', 'Ṁ'),
+ ('Ṃ', 'Ṃ'),
+ ('Ṅ', 'Ṅ'),
+ ('Ṇ', 'Ṇ'),
+ ('Ṉ', 'Ṉ'),
+ ('Ṋ', 'Ṋ'),
+ ('Ṍ', 'Ṍ'),
+ ('Ṏ', 'Ṏ'),
+ ('Ṑ', 'Ṑ'),
+ ('Ṓ', 'Ṓ'),
+ ('Ṕ', 'Ṕ'),
+ ('Ṗ', 'Ṗ'),
+ ('Ṙ', 'Ṙ'),
+ ('Ṛ', 'Ṛ'),
+ ('Ṝ', 'Ṝ'),
+ ('Ṟ', 'Ṟ'),
+ ('Ṡ', 'Ṡ'),
+ ('Ṣ', 'Ṣ'),
+ ('Ṥ', 'Ṥ'),
+ ('Ṧ', 'Ṧ'),
+ ('Ṩ', 'Ṩ'),
+ ('Ṫ', 'Ṫ'),
+ ('Ṭ', 'Ṭ'),
+ ('Ṯ', 'Ṯ'),
+ ('Ṱ', 'Ṱ'),
+ ('Ṳ', 'Ṳ'),
+ ('Ṵ', 'Ṵ'),
+ ('Ṷ', 'Ṷ'),
+ ('Ṹ', 'Ṹ'),
+ ('Ṻ', 'Ṻ'),
+ ('Ṽ', 'Ṽ'),
+ ('Ṿ', 'Ṿ'),
+ ('Ẁ', 'Ẁ'),
+ ('Ẃ', 'Ẃ'),
+ ('Ẅ', 'Ẅ'),
+ ('Ẇ', 'Ẇ'),
+ ('Ẉ', 'Ẉ'),
+ ('Ẋ', 'Ẋ'),
+ ('Ẍ', 'Ẍ'),
+ ('Ẏ', 'Ẏ'),
+ ('Ẑ', 'Ẑ'),
+ ('Ẓ', 'Ẓ'),
+ ('Ẕ', 'Ẕ'),
+ ('ẞ', 'ẞ'),
+ ('Ạ', 'Ạ'),
+ ('Ả', 'Ả'),
+ ('Ấ', 'Ấ'),
+ ('Ầ', 'Ầ'),
+ ('Ẩ', 'Ẩ'),
+ ('Ẫ', 'Ẫ'),
+ ('Ậ', 'Ậ'),
+ ('Ắ', 'Ắ'),
+ ('Ằ', 'Ằ'),
+ ('Ẳ', 'Ẳ'),
+ ('Ẵ', 'Ẵ'),
+ ('Ặ', 'Ặ'),
+ ('Ẹ', 'Ẹ'),
+ ('Ẻ', 'Ẻ'),
+ ('Ẽ', 'Ẽ'),
+ ('Ế', 'Ế'),
+ ('Ề', 'Ề'),
+ ('Ể', 'Ể'),
+ ('Ễ', 'Ễ'),
+ ('Ệ', 'Ệ'),
+ ('Ỉ', 'Ỉ'),
+ ('Ị', 'Ị'),
+ ('Ọ', 'Ọ'),
+ ('Ỏ', 'Ỏ'),
+ ('Ố', 'Ố'),
+ ('Ồ', 'Ồ'),
+ ('Ổ', 'Ổ'),
+ ('Ỗ', 'Ỗ'),
+ ('Ộ', 'Ộ'),
+ ('Ớ', 'Ớ'),
+ ('Ờ', 'Ờ'),
+ ('Ở', 'Ở'),
+ ('Ỡ', 'Ỡ'),
+ ('Ợ', 'Ợ'),
+ ('Ụ', 'Ụ'),
+ ('Ủ', 'Ủ'),
+ ('Ứ', 'Ứ'),
+ ('Ừ', 'Ừ'),
+ ('Ử', 'Ử'),
+ ('Ữ', 'Ữ'),
+ ('Ự', 'Ự'),
+ ('Ỳ', 'Ỳ'),
+ ('Ỵ', 'Ỵ'),
+ ('Ỷ', 'Ỷ'),
+ ('Ỹ', 'Ỹ'),
+ ('Ỻ', 'Ỻ'),
+ ('Ỽ', 'Ỽ'),
+ ('Ỿ', 'Ỿ'),
+ ('Ἀ', 'Ἇ'),
+ ('Ἐ', 'Ἕ'),
+ ('Ἠ', 'Ἧ'),
+ ('Ἰ', 'Ἷ'),
+ ('Ὀ', 'Ὅ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'Ὗ'),
+ ('Ὠ', 'Ὧ'),
+ ('Ᾰ', 'Ά'),
+ ('Ὲ', 'Ή'),
+ ('Ῐ', 'Ί'),
+ ('Ῠ', 'Ῥ'),
+ ('Ὸ', 'Ώ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℋ', 'ℍ'),
+ ('ℐ', 'ℒ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℰ', 'ℳ'),
+ ('ℾ', 'ℿ'),
+ ('ⅅ', 'ⅅ'),
+ ('Ⅰ', 'Ⅿ'),
+ ('Ↄ', 'Ↄ'),
+ ('Ⓐ', 'Ⓩ'),
+ ('Ⰰ', 'Ⱟ'),
+ ('Ⱡ', 'Ⱡ'),
+ ('Ɫ', 'Ɽ'),
+ ('Ⱨ', 'Ⱨ'),
+ ('Ⱪ', 'Ⱪ'),
+ ('Ⱬ', 'Ⱬ'),
+ ('Ɑ', 'Ɒ'),
+ ('Ⱳ', 'Ⱳ'),
+ ('Ⱶ', 'Ⱶ'),
+ ('Ȿ', 'Ⲁ'),
+ ('Ⲃ', 'Ⲃ'),
+ ('Ⲅ', 'Ⲅ'),
+ ('Ⲇ', 'Ⲇ'),
+ ('Ⲉ', 'Ⲉ'),
+ ('Ⲋ', 'Ⲋ'),
+ ('Ⲍ', 'Ⲍ'),
+ ('Ⲏ', 'Ⲏ'),
+ ('Ⲑ', 'Ⲑ'),
+ ('Ⲓ', 'Ⲓ'),
+ ('Ⲕ', 'Ⲕ'),
+ ('Ⲗ', 'Ⲗ'),
+ ('Ⲙ', 'Ⲙ'),
+ ('Ⲛ', 'Ⲛ'),
+ ('Ⲝ', 'Ⲝ'),
+ ('Ⲟ', 'Ⲟ'),
+ ('Ⲡ', 'Ⲡ'),
+ ('Ⲣ', 'Ⲣ'),
+ ('Ⲥ', 'Ⲥ'),
+ ('Ⲧ', 'Ⲧ'),
+ ('Ⲩ', 'Ⲩ'),
+ ('Ⲫ', 'Ⲫ'),
+ ('Ⲭ', 'Ⲭ'),
+ ('Ⲯ', 'Ⲯ'),
+ ('Ⲱ', 'Ⲱ'),
+ ('Ⲳ', 'Ⲳ'),
+ ('Ⲵ', 'Ⲵ'),
+ ('Ⲷ', 'Ⲷ'),
+ ('Ⲹ', 'Ⲹ'),
+ ('Ⲻ', 'Ⲻ'),
+ ('Ⲽ', 'Ⲽ'),
+ ('Ⲿ', 'Ⲿ'),
+ ('Ⳁ', 'Ⳁ'),
+ ('Ⳃ', 'Ⳃ'),
+ ('Ⳅ', 'Ⳅ'),
+ ('Ⳇ', 'Ⳇ'),
+ ('Ⳉ', 'Ⳉ'),
+ ('Ⳋ', 'Ⳋ'),
+ ('Ⳍ', 'Ⳍ'),
+ ('Ⳏ', 'Ⳏ'),
+ ('Ⳑ', 'Ⳑ'),
+ ('Ⳓ', 'Ⳓ'),
+ ('Ⳕ', 'Ⳕ'),
+ ('Ⳗ', 'Ⳗ'),
+ ('Ⳙ', 'Ⳙ'),
+ ('Ⳛ', 'Ⳛ'),
+ ('Ⳝ', 'Ⳝ'),
+ ('Ⳟ', 'Ⳟ'),
+ ('Ⳡ', 'Ⳡ'),
+ ('Ⳣ', 'Ⳣ'),
+ ('Ⳬ', 'Ⳬ'),
+ ('Ⳮ', 'Ⳮ'),
+ ('Ⳳ', 'Ⳳ'),
+ ('Ꙁ', 'Ꙁ'),
+ ('Ꙃ', 'Ꙃ'),
+ ('Ꙅ', 'Ꙅ'),
+ ('Ꙇ', 'Ꙇ'),
+ ('Ꙉ', 'Ꙉ'),
+ ('Ꙋ', 'Ꙋ'),
+ ('Ꙍ', 'Ꙍ'),
+ ('Ꙏ', 'Ꙏ'),
+ ('Ꙑ', 'Ꙑ'),
+ ('Ꙓ', 'Ꙓ'),
+ ('Ꙕ', 'Ꙕ'),
+ ('Ꙗ', 'Ꙗ'),
+ ('Ꙙ', 'Ꙙ'),
+ ('Ꙛ', 'Ꙛ'),
+ ('Ꙝ', 'Ꙝ'),
+ ('Ꙟ', 'Ꙟ'),
+ ('Ꙡ', 'Ꙡ'),
+ ('Ꙣ', 'Ꙣ'),
+ ('Ꙥ', 'Ꙥ'),
+ ('Ꙧ', 'Ꙧ'),
+ ('Ꙩ', 'Ꙩ'),
+ ('Ꙫ', 'Ꙫ'),
+ ('Ꙭ', 'Ꙭ'),
+ ('Ꚁ', 'Ꚁ'),
+ ('Ꚃ', 'Ꚃ'),
+ ('Ꚅ', 'Ꚅ'),
+ ('Ꚇ', 'Ꚇ'),
+ ('Ꚉ', 'Ꚉ'),
+ ('Ꚋ', 'Ꚋ'),
+ ('Ꚍ', 'Ꚍ'),
+ ('Ꚏ', 'Ꚏ'),
+ ('Ꚑ', 'Ꚑ'),
+ ('Ꚓ', 'Ꚓ'),
+ ('Ꚕ', 'Ꚕ'),
+ ('Ꚗ', 'Ꚗ'),
+ ('Ꚙ', 'Ꚙ'),
+ ('Ꚛ', 'Ꚛ'),
+ ('Ꜣ', 'Ꜣ'),
+ ('Ꜥ', 'Ꜥ'),
+ ('Ꜧ', 'Ꜧ'),
+ ('Ꜩ', 'Ꜩ'),
+ ('Ꜫ', 'Ꜫ'),
+ ('Ꜭ', 'Ꜭ'),
+ ('Ꜯ', 'Ꜯ'),
+ ('Ꜳ', 'Ꜳ'),
+ ('Ꜵ', 'Ꜵ'),
+ ('Ꜷ', 'Ꜷ'),
+ ('Ꜹ', 'Ꜹ'),
+ ('Ꜻ', 'Ꜻ'),
+ ('Ꜽ', 'Ꜽ'),
+ ('Ꜿ', 'Ꜿ'),
+ ('Ꝁ', 'Ꝁ'),
+ ('Ꝃ', 'Ꝃ'),
+ ('Ꝅ', 'Ꝅ'),
+ ('Ꝇ', 'Ꝇ'),
+ ('Ꝉ', 'Ꝉ'),
+ ('Ꝋ', 'Ꝋ'),
+ ('Ꝍ', 'Ꝍ'),
+ ('Ꝏ', 'Ꝏ'),
+ ('Ꝑ', 'Ꝑ'),
+ ('Ꝓ', 'Ꝓ'),
+ ('Ꝕ', 'Ꝕ'),
+ ('Ꝗ', 'Ꝗ'),
+ ('Ꝙ', 'Ꝙ'),
+ ('Ꝛ', 'Ꝛ'),
+ ('Ꝝ', 'Ꝝ'),
+ ('Ꝟ', 'Ꝟ'),
+ ('Ꝡ', 'Ꝡ'),
+ ('Ꝣ', 'Ꝣ'),
+ ('Ꝥ', 'Ꝥ'),
+ ('Ꝧ', 'Ꝧ'),
+ ('Ꝩ', 'Ꝩ'),
+ ('Ꝫ', 'Ꝫ'),
+ ('Ꝭ', 'Ꝭ'),
+ ('Ꝯ', 'Ꝯ'),
+ ('Ꝺ', 'Ꝺ'),
+ ('Ꝼ', 'Ꝼ'),
+ ('Ᵹ', 'Ꝿ'),
+ ('Ꞁ', 'Ꞁ'),
+ ('Ꞃ', 'Ꞃ'),
+ ('Ꞅ', 'Ꞅ'),
+ ('Ꞇ', 'Ꞇ'),
+ ('Ꞌ', 'Ꞌ'),
+ ('Ɥ', 'Ɥ'),
+ ('Ꞑ', 'Ꞑ'),
+ ('Ꞓ', 'Ꞓ'),
+ ('Ꞗ', 'Ꞗ'),
+ ('Ꞙ', 'Ꞙ'),
+ ('Ꞛ', 'Ꞛ'),
+ ('Ꞝ', 'Ꞝ'),
+ ('Ꞟ', 'Ꞟ'),
+ ('Ꞡ', 'Ꞡ'),
+ ('Ꞣ', 'Ꞣ'),
+ ('Ꞥ', 'Ꞥ'),
+ ('Ꞧ', 'Ꞧ'),
+ ('Ꞩ', 'Ꞩ'),
+ ('Ɦ', 'Ɪ'),
+ ('Ʞ', 'Ꞵ'),
+ ('Ꞷ', 'Ꞷ'),
+ ('Ꞹ', 'Ꞹ'),
+ ('Ꞻ', 'Ꞻ'),
+ ('Ꞽ', 'Ꞽ'),
+ ('Ꞿ', 'Ꞿ'),
+ ('Ꟁ', 'Ꟁ'),
+ ('Ꟃ', 'Ꟃ'),
+ ('Ꞔ', 'Ꟈ'),
+ ('Ꟊ', 'Ꟊ'),
+ ('Ꟑ', 'Ꟑ'),
+ ('Ꟗ', 'Ꟗ'),
+ ('Ꟙ', 'Ꟙ'),
+ ('Ꟶ', 'Ꟶ'),
+ ('A', 'Z'),
+ ('𐐀', '𐐧'),
+ ('𐒰', '𐓓'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐲀', '𐲲'),
+ ('𑢠', '𑢿'),
+ ('𖹀', '𖹟'),
+ ('𝐀', '𝐙'),
+ ('𝐴', '𝑍'),
+ ('𝑨', '𝒁'),
+ ('𝒜', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒵'),
+ ('𝓐', '𝓩'),
+ ('𝔄', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔸', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕬', '𝖅'),
+ ('𝖠', '𝖹'),
+ ('𝗔', '𝗭'),
+ ('𝘈', '𝘡'),
+ ('𝘼', '𝙕'),
+ ('𝙰', '𝚉'),
+ ('𝚨', '𝛀'),
+ ('𝛢', '𝛺'),
+ ('𝜜', '𝜴'),
+ ('𝝖', '𝝮'),
+ ('𝞐', '𝞨'),
+ ('𝟊', '𝟊'),
+ ('𞤀', '𞤡'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+];
+
+pub const VARIATION_SELECTOR: &'static [(char, char)] = &[
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const WHITE_SPACE: &'static [(char, char)] = &[
+ ('\t', '\r'),
+ (' ', ' '),
+ ('\u{85}', '\u{85}'),
+ ('\u{a0}', '\u{a0}'),
+ ('\u{1680}', '\u{1680}'),
+ ('\u{2000}', '\u{200a}'),
+ ('\u{2028}', '\u{2029}'),
+ ('\u{202f}', '\u{202f}'),
+ ('\u{205f}', '\u{205f}'),
+ ('\u{3000}', '\u{3000}'),
+];
+
+pub const XID_CONTINUE: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('A', 'Z'),
+ ('_', '_'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('·', '·'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('\u{300}', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('\u{483}', '\u{487}'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('\u{610}', '\u{61a}'),
+ ('ؠ', '٩'),
+ ('ٮ', 'ۓ'),
+ ('ە', '\u{6dc}'),
+ ('\u{6df}', '\u{6e8}'),
+ ('\u{6ea}', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', '\u{74a}'),
+ ('ݍ', 'ޱ'),
+ ('߀', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('ࠀ', '\u{82d}'),
+ ('ࡀ', '\u{85b}'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('\u{898}', '\u{8e1}'),
+ ('\u{8e3}', '\u{963}'),
+ ('०', '९'),
+ ('ॱ', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('\u{9bc}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৎ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('০', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('\u{abc}', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', '\u{ae3}'),
+ ('૦', '૯'),
+ ('ૹ', '\u{aff}'),
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('\u{b3c}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', '\u{b63}'),
+ ('୦', '୯'),
+ ('ୱ', 'ୱ'),
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('ௐ', 'ௐ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('௦', '௯'),
+ ('\u{c00}', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('\u{c3c}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', '\u{c63}'),
+ ('౦', '౯'),
+ ('ಀ', 'ಃ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('\u{cbc}', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', '\u{ce3}'),
+ ('೦', '೯'),
+ ('ೱ', 'ೳ'),
+ ('\u{d00}', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', 'ൎ'),
+ ('ൔ', '\u{d57}'),
+ ('ൟ', '\u{d63}'),
+ ('൦', '൯'),
+ ('ൺ', 'ൿ'),
+ ('\u{d81}', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('෦', '෯'),
+ ('ෲ', 'ෳ'),
+ ('ก', '\u{e3a}'),
+ ('เ', '\u{e4e}'),
+ ('๐', '๙'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ece}'),
+ ('໐', '໙'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('\u{f18}', '\u{f19}'),
+ ('༠', '༩'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('\u{f71}', '\u{f84}'),
+ ('\u{f86}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('က', '၉'),
+ ('ၐ', '\u{109d}'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('\u{135d}', '\u{135f}'),
+ ('፩', '፱'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', '᜕'),
+ ('ᜟ', '᜴'),
+ ('ᝀ', '\u{1753}'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('\u{1772}', '\u{1773}'),
+ ('ក', '\u{17d3}'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', '\u{17dd}'),
+ ('០', '៩'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '᠙'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('᥆', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('᧐', '᧚'),
+ ('ᨀ', '\u{1a1b}'),
+ ('ᨠ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '᪉'),
+ ('᪐', '᪙'),
+ ('ᪧ', 'ᪧ'),
+ ('\u{1ab0}', '\u{1abd}'),
+ ('\u{1abf}', '\u{1ace}'),
+ ('\u{1b00}', 'ᭌ'),
+ ('᭐', '᭙'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', '᯳'),
+ ('ᰀ', '\u{1c37}'),
+ ('᱀', '᱉'),
+ ('ᱍ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', 'ᳺ'),
+ ('ᴀ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('‿', '⁀'),
+ ('⁔', '⁔'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('\u{20d0}', '\u{20dc}'),
+ ('\u{20e1}', '\u{20e1}'),
+ ('\u{20e5}', '\u{20f0}'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('℘', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('\u{2d7f}', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('々', '〇'),
+ ('〡', '\u{302f}'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('\u{3099}', '\u{309a}'),
+ ('ゝ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘫ'),
+ ('Ꙁ', '\u{a66f}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('ꙿ', '\u{a6f1}'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠧ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢀ', '\u{a8c5}'),
+ ('꣐', '꣙'),
+ ('\u{a8e0}', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', '\u{a92d}'),
+ ('ꤰ', '꥓'),
+ ('ꥠ', 'ꥼ'),
+ ('\u{a980}', '꧀'),
+ ('ꧏ', '꧙'),
+ ('ꧠ', 'ꧾ'),
+ ('ꨀ', '\u{aa36}'),
+ ('ꩀ', 'ꩍ'),
+ ('꩐', '꩙'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫯ'),
+ ('ꫲ', '\u{aaf6}'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯪ'),
+ ('꯬', '\u{abed}'),
+ ('꯰', '꯹'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﱝ'),
+ ('ﱤ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷹ'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('︳', '︴'),
+ ('﹍', '﹏'),
+ ('ﹱ', 'ﹱ'),
+ ('ﹳ', 'ﹳ'),
+ ('ﹷ', 'ﹷ'),
+ ('ﹹ', 'ﹹ'),
+ ('ﹻ', 'ﹻ'),
+ ('ﹽ', 'ﹽ'),
+ ('ﹿ', 'ﻼ'),
+ ('0', '9'),
+ ('A', 'Z'),
+ ('_', '_'),
+ ('a', 'z'),
+ ('ヲ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '\u{1037a}'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒠', '𐒩'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '\u{10ae6}'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '\u{10d27}'),
+ ('𐴰', '𐴹'),
+ ('𐺀', '𐺩'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('𐺰', '𐺱'),
+ ('\u{10efd}', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '\u{10f50}'),
+ ('𐽰', '\u{10f85}'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀀', '\u{11046}'),
+ ('𑁦', '𑁵'),
+ ('\u{1107f}', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('𑃐', '𑃨'),
+ ('𑃰', '𑃹'),
+ ('\u{11100}', '\u{11134}'),
+ ('𑄶', '𑄿'),
+ ('𑅄', '𑅇'),
+ ('𑅐', '\u{11173}'),
+ ('𑅶', '𑅶'),
+ ('\u{11180}', '𑇄'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇎', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '\u{11237}'),
+ ('\u{1123e}', '\u{11241}'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '\u{112ea}'),
+ ('𑋰', '𑋹'),
+ ('\u{11300}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('\u{1133b}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍐', '𑍐'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑐀', '𑑊'),
+ ('𑑐', '𑑙'),
+ ('\u{1145e}', '𑑡'),
+ ('𑒀', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑓐', '𑓙'),
+ ('𑖀', '\u{115b5}'),
+ ('𑖸', '\u{115c0}'),
+ ('𑗘', '\u{115dd}'),
+ ('𑘀', '\u{11640}'),
+ ('𑙄', '𑙄'),
+ ('𑙐', '𑙙'),
+ ('𑚀', '𑚸'),
+ ('𑛀', '𑛉'),
+ ('𑜀', '𑜚'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑜰', '𑜹'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '\u{1183a}'),
+ ('𑢠', '𑣩'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{11943}'),
+ ('𑥐', '𑥙'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '\u{119d7}'),
+ ('\u{119da}', '𑧡'),
+ ('𑧣', '𑧤'),
+ ('𑨀', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('𑩐', '\u{11a99}'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '\u{11c36}'),
+ ('\u{11c38}', '𑱀'),
+ ('𑱐', '𑱙'),
+ ('𑱲', '𑲏'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d47}'),
+ ('𑵐', '𑵙'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶘'),
+ ('𑶠', '𑶩'),
+ ('𑻠', '𑻶'),
+ ('\u{11f00}', '𑼐'),
+ ('𑼒', '\u{11f3a}'),
+ ('𑼾', '\u{11f42}'),
+ ('𑽐', '𑽙'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('\u{13440}', '\u{13455}'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩠', '𖩩'),
+ ('𖩰', '𖪾'),
+ ('𖫀', '𖫉'),
+ ('𖫐', '𖫭'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('𖬀', '\u{16b36}'),
+ ('𖭀', '𖭃'),
+ ('𖭐', '𖭙'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('\u{16f4f}', '𖾇'),
+ ('\u{16f8f}', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('𞄀', '𞄬'),
+ ('\u{1e130}', '𞄽'),
+ ('𞅀', '𞅉'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '\u{1e2ae}'),
+ ('𞋀', '𞋹'),
+ ('𞓐', '𞓹'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('𞤀', '𞥋'),
+ ('𞥐', '𞥙'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('🯰', '🯹'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const XID_START: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ˁ'),
+ ('ˆ', 'ˑ'),
+ ('ˠ', 'ˤ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('Ͱ', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͻ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', 'ՙ'),
+ ('ՠ', 'ֈ'),
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('ؠ', 'ي'),
+ ('ٮ', 'ٯ'),
+ ('ٱ', 'ۓ'),
+ ('ە', 'ە'),
+ ('ۥ', 'ۦ'),
+ ('ۮ', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠀ', 'ࠕ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('ऄ', 'ह'),
+ ('ऽ', 'ऽ'),
+ ('ॐ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('ॱ', 'ঀ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('ੲ', 'ੴ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ઽ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('ૹ', 'ૹ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('ୱ', 'ୱ'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ௐ', 'ௐ'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('ಀ', 'ಀ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಽ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('ೱ', 'ೲ'),
+ ('ഄ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', 'ൖ'),
+ ('ൟ', 'ൡ'),
+ ('ൺ', 'ൿ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ก', 'ะ'),
+ ('า', 'า'),
+ ('เ', 'ๆ'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ະ'),
+ ('າ', 'າ'),
+ ('ຽ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ྈ', 'ྌ'),
+ ('က', 'ဪ'),
+ ('ဿ', 'ဿ'),
+ ('ၐ', 'ၕ'),
+ ('ၚ', 'ၝ'),
+ ('ၡ', 'ၡ'),
+ ('ၥ', 'ၦ'),
+ ('ၮ', 'ၰ'),
+ ('ၵ', 'ႁ'),
+ ('ႎ', 'ႎ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('ᜟ', 'ᜱ'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ក', 'ឳ'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', 'ៜ'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᥐ', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('ᨀ', 'ᨖ'),
+ ('ᨠ', 'ᩔ'),
+ ('ᪧ', 'ᪧ'),
+ ('ᬅ', 'ᬳ'),
+ ('ᭅ', 'ᭌ'),
+ ('ᮃ', 'ᮠ'),
+ ('ᮮ', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᰀ', 'ᰣ'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ᴀ', 'ᶿ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('℘', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('々', '〇'),
+ ('〡', '〩'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('ゝ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('Ꙁ', 'ꙮ'),
+ ('ꙿ', 'ꚝ'),
+ ('ꚠ', 'ꛯ'),
+ ('ꜗ', 'ꜟ'),
+ ('Ꜣ', 'ꞈ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠢ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢂ', 'ꢳ'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', 'ꣾ'),
+ ('ꤊ', 'ꤥ'),
+ ('ꤰ', 'ꥆ'),
+ ('ꥠ', 'ꥼ'),
+ ('ꦄ', 'ꦲ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧠ', 'ꧤ'),
+ ('ꧦ', 'ꧯ'),
+ ('ꧺ', 'ꧾ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꩺ'),
+ ('ꩾ', 'ꪯ'),
+ ('ꪱ', 'ꪱ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪽ'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫪ'),
+ ('ꫲ', 'ꫴ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꯢ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﱝ'),
+ ('ﱤ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷹ'),
+ ('ﹱ', 'ﹱ'),
+ ('ﹳ', 'ﹳ'),
+ ('ﹷ', 'ﹷ'),
+ ('ﹹ', 'ﹹ'),
+ ('ﹻ', 'ﹻ'),
+ ('ﹽ', 'ﹽ'),
+ ('ﹿ', 'ﻼ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ヲ', 'ン'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '𐴣'),
+ ('𐺀', '𐺩'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀃', '𑀷'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂃', '𑂯'),
+ ('𑃐', '𑃨'),
+ ('𑄃', '𑄦'),
+ ('𑅄', '𑅄'),
+ ('𑅇', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('𑆃', '𑆲'),
+ ('𑇁', '𑇄'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈫'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '𑋞'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍡'),
+ ('𑐀', '𑐴'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '𑖮'),
+ ('𑗘', '𑗛'),
+ ('𑘀', '𑘯'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '𑚪'),
+ ('𑚸', '𑚸'),
+ ('𑜀', '𑜚'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '𑠫'),
+ ('𑢠', '𑣟'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧐'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧣'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨺', '𑨺'),
+ ('𑩐', '𑩐'),
+ ('𑩜', '𑪉'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰮'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶉'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻲'),
+ ('𑼂', '𑼂'),
+ ('𑼄', '𑼐'),
+ ('𑼒', '𑼳'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭀', '𖭃'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖽐'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓫'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞤀', '𞥃'),
+ ('𞥋', '𞥋'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/property_names.rs b/third_party/rust/regex-syntax/src/unicode_tables/property_names.rs
new file mode 100644
index 0000000000..599a123ae5
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/property_names.rs
@@ -0,0 +1,264 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate property-names ucd-15.0.0
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const PROPERTY_NAMES: &'static [(&'static str, &'static str)] = &[
+ ("age", "Age"),
+ ("ahex", "ASCII_Hex_Digit"),
+ ("alpha", "Alphabetic"),
+ ("alphabetic", "Alphabetic"),
+ ("asciihexdigit", "ASCII_Hex_Digit"),
+ ("bc", "Bidi_Class"),
+ ("bidic", "Bidi_Control"),
+ ("bidiclass", "Bidi_Class"),
+ ("bidicontrol", "Bidi_Control"),
+ ("bidim", "Bidi_Mirrored"),
+ ("bidimirrored", "Bidi_Mirrored"),
+ ("bidimirroringglyph", "Bidi_Mirroring_Glyph"),
+ ("bidipairedbracket", "Bidi_Paired_Bracket"),
+ ("bidipairedbrackettype", "Bidi_Paired_Bracket_Type"),
+ ("blk", "Block"),
+ ("block", "Block"),
+ ("bmg", "Bidi_Mirroring_Glyph"),
+ ("bpb", "Bidi_Paired_Bracket"),
+ ("bpt", "Bidi_Paired_Bracket_Type"),
+ ("canonicalcombiningclass", "Canonical_Combining_Class"),
+ ("cased", "Cased"),
+ ("casefolding", "Case_Folding"),
+ ("caseignorable", "Case_Ignorable"),
+ ("ccc", "Canonical_Combining_Class"),
+ ("ce", "Composition_Exclusion"),
+ ("cf", "Case_Folding"),
+ ("changeswhencasefolded", "Changes_When_Casefolded"),
+ ("changeswhencasemapped", "Changes_When_Casemapped"),
+ ("changeswhenlowercased", "Changes_When_Lowercased"),
+ ("changeswhennfkccasefolded", "Changes_When_NFKC_Casefolded"),
+ ("changeswhentitlecased", "Changes_When_Titlecased"),
+ ("changeswhenuppercased", "Changes_When_Uppercased"),
+ ("ci", "Case_Ignorable"),
+ ("cjkaccountingnumeric", "kAccountingNumeric"),
+ ("cjkcompatibilityvariant", "kCompatibilityVariant"),
+ ("cjkiicore", "kIICore"),
+ ("cjkirggsource", "kIRG_GSource"),
+ ("cjkirghsource", "kIRG_HSource"),
+ ("cjkirgjsource", "kIRG_JSource"),
+ ("cjkirgkpsource", "kIRG_KPSource"),
+ ("cjkirgksource", "kIRG_KSource"),
+ ("cjkirgmsource", "kIRG_MSource"),
+ ("cjkirgssource", "kIRG_SSource"),
+ ("cjkirgtsource", "kIRG_TSource"),
+ ("cjkirguksource", "kIRG_UKSource"),
+ ("cjkirgusource", "kIRG_USource"),
+ ("cjkirgvsource", "kIRG_VSource"),
+ ("cjkothernumeric", "kOtherNumeric"),
+ ("cjkprimarynumeric", "kPrimaryNumeric"),
+ ("cjkrsunicode", "kRSUnicode"),
+ ("compex", "Full_Composition_Exclusion"),
+ ("compositionexclusion", "Composition_Exclusion"),
+ ("cwcf", "Changes_When_Casefolded"),
+ ("cwcm", "Changes_When_Casemapped"),
+ ("cwkcf", "Changes_When_NFKC_Casefolded"),
+ ("cwl", "Changes_When_Lowercased"),
+ ("cwt", "Changes_When_Titlecased"),
+ ("cwu", "Changes_When_Uppercased"),
+ ("dash", "Dash"),
+ ("decompositionmapping", "Decomposition_Mapping"),
+ ("decompositiontype", "Decomposition_Type"),
+ ("defaultignorablecodepoint", "Default_Ignorable_Code_Point"),
+ ("dep", "Deprecated"),
+ ("deprecated", "Deprecated"),
+ ("di", "Default_Ignorable_Code_Point"),
+ ("dia", "Diacritic"),
+ ("diacritic", "Diacritic"),
+ ("dm", "Decomposition_Mapping"),
+ ("dt", "Decomposition_Type"),
+ ("ea", "East_Asian_Width"),
+ ("eastasianwidth", "East_Asian_Width"),
+ ("ebase", "Emoji_Modifier_Base"),
+ ("ecomp", "Emoji_Component"),
+ ("emod", "Emoji_Modifier"),
+ ("emoji", "Emoji"),
+ ("emojicomponent", "Emoji_Component"),
+ ("emojimodifier", "Emoji_Modifier"),
+ ("emojimodifierbase", "Emoji_Modifier_Base"),
+ ("emojipresentation", "Emoji_Presentation"),
+ ("epres", "Emoji_Presentation"),
+ ("equideo", "Equivalent_Unified_Ideograph"),
+ ("equivalentunifiedideograph", "Equivalent_Unified_Ideograph"),
+ ("expandsonnfc", "Expands_On_NFC"),
+ ("expandsonnfd", "Expands_On_NFD"),
+ ("expandsonnfkc", "Expands_On_NFKC"),
+ ("expandsonnfkd", "Expands_On_NFKD"),
+ ("ext", "Extender"),
+ ("extendedpictographic", "Extended_Pictographic"),
+ ("extender", "Extender"),
+ ("extpict", "Extended_Pictographic"),
+ ("fcnfkc", "FC_NFKC_Closure"),
+ ("fcnfkcclosure", "FC_NFKC_Closure"),
+ ("fullcompositionexclusion", "Full_Composition_Exclusion"),
+ ("gc", "General_Category"),
+ ("gcb", "Grapheme_Cluster_Break"),
+ ("generalcategory", "General_Category"),
+ ("graphemebase", "Grapheme_Base"),
+ ("graphemeclusterbreak", "Grapheme_Cluster_Break"),
+ ("graphemeextend", "Grapheme_Extend"),
+ ("graphemelink", "Grapheme_Link"),
+ ("grbase", "Grapheme_Base"),
+ ("grext", "Grapheme_Extend"),
+ ("grlink", "Grapheme_Link"),
+ ("hangulsyllabletype", "Hangul_Syllable_Type"),
+ ("hex", "Hex_Digit"),
+ ("hexdigit", "Hex_Digit"),
+ ("hst", "Hangul_Syllable_Type"),
+ ("hyphen", "Hyphen"),
+ ("idc", "ID_Continue"),
+ ("idcontinue", "ID_Continue"),
+ ("ideo", "Ideographic"),
+ ("ideographic", "Ideographic"),
+ ("ids", "ID_Start"),
+ ("idsb", "IDS_Binary_Operator"),
+ ("idsbinaryoperator", "IDS_Binary_Operator"),
+ ("idst", "IDS_Trinary_Operator"),
+ ("idstart", "ID_Start"),
+ ("idstrinaryoperator", "IDS_Trinary_Operator"),
+ ("indicpositionalcategory", "Indic_Positional_Category"),
+ ("indicsyllabiccategory", "Indic_Syllabic_Category"),
+ ("inpc", "Indic_Positional_Category"),
+ ("insc", "Indic_Syllabic_Category"),
+ ("isc", "ISO_Comment"),
+ ("jamoshortname", "Jamo_Short_Name"),
+ ("jg", "Joining_Group"),
+ ("joinc", "Join_Control"),
+ ("joincontrol", "Join_Control"),
+ ("joininggroup", "Joining_Group"),
+ ("joiningtype", "Joining_Type"),
+ ("jsn", "Jamo_Short_Name"),
+ ("jt", "Joining_Type"),
+ ("kaccountingnumeric", "kAccountingNumeric"),
+ ("kcompatibilityvariant", "kCompatibilityVariant"),
+ ("kiicore", "kIICore"),
+ ("kirggsource", "kIRG_GSource"),
+ ("kirghsource", "kIRG_HSource"),
+ ("kirgjsource", "kIRG_JSource"),
+ ("kirgkpsource", "kIRG_KPSource"),
+ ("kirgksource", "kIRG_KSource"),
+ ("kirgmsource", "kIRG_MSource"),
+ ("kirgssource", "kIRG_SSource"),
+ ("kirgtsource", "kIRG_TSource"),
+ ("kirguksource", "kIRG_UKSource"),
+ ("kirgusource", "kIRG_USource"),
+ ("kirgvsource", "kIRG_VSource"),
+ ("kothernumeric", "kOtherNumeric"),
+ ("kprimarynumeric", "kPrimaryNumeric"),
+ ("krsunicode", "kRSUnicode"),
+ ("lb", "Line_Break"),
+ ("lc", "Lowercase_Mapping"),
+ ("linebreak", "Line_Break"),
+ ("loe", "Logical_Order_Exception"),
+ ("logicalorderexception", "Logical_Order_Exception"),
+ ("lower", "Lowercase"),
+ ("lowercase", "Lowercase"),
+ ("lowercasemapping", "Lowercase_Mapping"),
+ ("math", "Math"),
+ ("na", "Name"),
+ ("na1", "Unicode_1_Name"),
+ ("name", "Name"),
+ ("namealias", "Name_Alias"),
+ ("nchar", "Noncharacter_Code_Point"),
+ ("nfcqc", "NFC_Quick_Check"),
+ ("nfcquickcheck", "NFC_Quick_Check"),
+ ("nfdqc", "NFD_Quick_Check"),
+ ("nfdquickcheck", "NFD_Quick_Check"),
+ ("nfkccasefold", "NFKC_Casefold"),
+ ("nfkccf", "NFKC_Casefold"),
+ ("nfkcqc", "NFKC_Quick_Check"),
+ ("nfkcquickcheck", "NFKC_Quick_Check"),
+ ("nfkdqc", "NFKD_Quick_Check"),
+ ("nfkdquickcheck", "NFKD_Quick_Check"),
+ ("noncharactercodepoint", "Noncharacter_Code_Point"),
+ ("nt", "Numeric_Type"),
+ ("numerictype", "Numeric_Type"),
+ ("numericvalue", "Numeric_Value"),
+ ("nv", "Numeric_Value"),
+ ("oalpha", "Other_Alphabetic"),
+ ("ocomment", "ISO_Comment"),
+ ("odi", "Other_Default_Ignorable_Code_Point"),
+ ("ogrext", "Other_Grapheme_Extend"),
+ ("oidc", "Other_ID_Continue"),
+ ("oids", "Other_ID_Start"),
+ ("olower", "Other_Lowercase"),
+ ("omath", "Other_Math"),
+ ("otheralphabetic", "Other_Alphabetic"),
+ ("otherdefaultignorablecodepoint", "Other_Default_Ignorable_Code_Point"),
+ ("othergraphemeextend", "Other_Grapheme_Extend"),
+ ("otheridcontinue", "Other_ID_Continue"),
+ ("otheridstart", "Other_ID_Start"),
+ ("otherlowercase", "Other_Lowercase"),
+ ("othermath", "Other_Math"),
+ ("otheruppercase", "Other_Uppercase"),
+ ("oupper", "Other_Uppercase"),
+ ("patsyn", "Pattern_Syntax"),
+ ("patternsyntax", "Pattern_Syntax"),
+ ("patternwhitespace", "Pattern_White_Space"),
+ ("patws", "Pattern_White_Space"),
+ ("pcm", "Prepended_Concatenation_Mark"),
+ ("prependedconcatenationmark", "Prepended_Concatenation_Mark"),
+ ("qmark", "Quotation_Mark"),
+ ("quotationmark", "Quotation_Mark"),
+ ("radical", "Radical"),
+ ("regionalindicator", "Regional_Indicator"),
+ ("ri", "Regional_Indicator"),
+ ("sb", "Sentence_Break"),
+ ("sc", "Script"),
+ ("scf", "Simple_Case_Folding"),
+ ("script", "Script"),
+ ("scriptextensions", "Script_Extensions"),
+ ("scx", "Script_Extensions"),
+ ("sd", "Soft_Dotted"),
+ ("sentencebreak", "Sentence_Break"),
+ ("sentenceterminal", "Sentence_Terminal"),
+ ("sfc", "Simple_Case_Folding"),
+ ("simplecasefolding", "Simple_Case_Folding"),
+ ("simplelowercasemapping", "Simple_Lowercase_Mapping"),
+ ("simpletitlecasemapping", "Simple_Titlecase_Mapping"),
+ ("simpleuppercasemapping", "Simple_Uppercase_Mapping"),
+ ("slc", "Simple_Lowercase_Mapping"),
+ ("softdotted", "Soft_Dotted"),
+ ("space", "White_Space"),
+ ("stc", "Simple_Titlecase_Mapping"),
+ ("sterm", "Sentence_Terminal"),
+ ("suc", "Simple_Uppercase_Mapping"),
+ ("tc", "Titlecase_Mapping"),
+ ("term", "Terminal_Punctuation"),
+ ("terminalpunctuation", "Terminal_Punctuation"),
+ ("titlecasemapping", "Titlecase_Mapping"),
+ ("uc", "Uppercase_Mapping"),
+ ("uideo", "Unified_Ideograph"),
+ ("unicode1name", "Unicode_1_Name"),
+ ("unicoderadicalstroke", "kRSUnicode"),
+ ("unifiedideograph", "Unified_Ideograph"),
+ ("upper", "Uppercase"),
+ ("uppercase", "Uppercase"),
+ ("uppercasemapping", "Uppercase_Mapping"),
+ ("urs", "kRSUnicode"),
+ ("variationselector", "Variation_Selector"),
+ ("verticalorientation", "Vertical_Orientation"),
+ ("vo", "Vertical_Orientation"),
+ ("vs", "Variation_Selector"),
+ ("wb", "Word_Break"),
+ ("whitespace", "White_Space"),
+ ("wordbreak", "Word_Break"),
+ ("wspace", "White_Space"),
+ ("xidc", "XID_Continue"),
+ ("xidcontinue", "XID_Continue"),
+ ("xids", "XID_Start"),
+ ("xidstart", "XID_Start"),
+ ("xonfc", "Expands_On_NFC"),
+ ("xonfd", "Expands_On_NFD"),
+ ("xonfkc", "Expands_On_NFKC"),
+ ("xonfkd", "Expands_On_NFKD"),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/property_values.rs b/third_party/rust/regex-syntax/src/unicode_tables/property_values.rs
new file mode 100644
index 0000000000..cb2d32fb70
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/property_values.rs
@@ -0,0 +1,924 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate property-values ucd-15.0.0 --include gc,script,scx,age,gcb,wb,sb
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const PROPERTY_VALUES: &'static [(
+ &'static str,
+ &'static [(&'static str, &'static str)],
+)] = &[
+ (
+ "Age",
+ &[
+ ("1.1", "V1_1"),
+ ("10.0", "V10_0"),
+ ("11.0", "V11_0"),
+ ("12.0", "V12_0"),
+ ("12.1", "V12_1"),
+ ("13.0", "V13_0"),
+ ("14.0", "V14_0"),
+ ("15.0", "V15_0"),
+ ("2.0", "V2_0"),
+ ("2.1", "V2_1"),
+ ("3.0", "V3_0"),
+ ("3.1", "V3_1"),
+ ("3.2", "V3_2"),
+ ("4.0", "V4_0"),
+ ("4.1", "V4_1"),
+ ("5.0", "V5_0"),
+ ("5.1", "V5_1"),
+ ("5.2", "V5_2"),
+ ("6.0", "V6_0"),
+ ("6.1", "V6_1"),
+ ("6.2", "V6_2"),
+ ("6.3", "V6_3"),
+ ("7.0", "V7_0"),
+ ("8.0", "V8_0"),
+ ("9.0", "V9_0"),
+ ("na", "Unassigned"),
+ ("unassigned", "Unassigned"),
+ ("v100", "V10_0"),
+ ("v11", "V1_1"),
+ ("v110", "V11_0"),
+ ("v120", "V12_0"),
+ ("v121", "V12_1"),
+ ("v130", "V13_0"),
+ ("v140", "V14_0"),
+ ("v150", "V15_0"),
+ ("v20", "V2_0"),
+ ("v21", "V2_1"),
+ ("v30", "V3_0"),
+ ("v31", "V3_1"),
+ ("v32", "V3_2"),
+ ("v40", "V4_0"),
+ ("v41", "V4_1"),
+ ("v50", "V5_0"),
+ ("v51", "V5_1"),
+ ("v52", "V5_2"),
+ ("v60", "V6_0"),
+ ("v61", "V6_1"),
+ ("v62", "V6_2"),
+ ("v63", "V6_3"),
+ ("v70", "V7_0"),
+ ("v80", "V8_0"),
+ ("v90", "V9_0"),
+ ],
+ ),
+ (
+ "General_Category",
+ &[
+ ("c", "Other"),
+ ("casedletter", "Cased_Letter"),
+ ("cc", "Control"),
+ ("cf", "Format"),
+ ("closepunctuation", "Close_Punctuation"),
+ ("cn", "Unassigned"),
+ ("cntrl", "Control"),
+ ("co", "Private_Use"),
+ ("combiningmark", "Mark"),
+ ("connectorpunctuation", "Connector_Punctuation"),
+ ("control", "Control"),
+ ("cs", "Surrogate"),
+ ("currencysymbol", "Currency_Symbol"),
+ ("dashpunctuation", "Dash_Punctuation"),
+ ("decimalnumber", "Decimal_Number"),
+ ("digit", "Decimal_Number"),
+ ("enclosingmark", "Enclosing_Mark"),
+ ("finalpunctuation", "Final_Punctuation"),
+ ("format", "Format"),
+ ("initialpunctuation", "Initial_Punctuation"),
+ ("l", "Letter"),
+ ("lc", "Cased_Letter"),
+ ("letter", "Letter"),
+ ("letternumber", "Letter_Number"),
+ ("lineseparator", "Line_Separator"),
+ ("ll", "Lowercase_Letter"),
+ ("lm", "Modifier_Letter"),
+ ("lo", "Other_Letter"),
+ ("lowercaseletter", "Lowercase_Letter"),
+ ("lt", "Titlecase_Letter"),
+ ("lu", "Uppercase_Letter"),
+ ("m", "Mark"),
+ ("mark", "Mark"),
+ ("mathsymbol", "Math_Symbol"),
+ ("mc", "Spacing_Mark"),
+ ("me", "Enclosing_Mark"),
+ ("mn", "Nonspacing_Mark"),
+ ("modifierletter", "Modifier_Letter"),
+ ("modifiersymbol", "Modifier_Symbol"),
+ ("n", "Number"),
+ ("nd", "Decimal_Number"),
+ ("nl", "Letter_Number"),
+ ("no", "Other_Number"),
+ ("nonspacingmark", "Nonspacing_Mark"),
+ ("number", "Number"),
+ ("openpunctuation", "Open_Punctuation"),
+ ("other", "Other"),
+ ("otherletter", "Other_Letter"),
+ ("othernumber", "Other_Number"),
+ ("otherpunctuation", "Other_Punctuation"),
+ ("othersymbol", "Other_Symbol"),
+ ("p", "Punctuation"),
+ ("paragraphseparator", "Paragraph_Separator"),
+ ("pc", "Connector_Punctuation"),
+ ("pd", "Dash_Punctuation"),
+ ("pe", "Close_Punctuation"),
+ ("pf", "Final_Punctuation"),
+ ("pi", "Initial_Punctuation"),
+ ("po", "Other_Punctuation"),
+ ("privateuse", "Private_Use"),
+ ("ps", "Open_Punctuation"),
+ ("punct", "Punctuation"),
+ ("punctuation", "Punctuation"),
+ ("s", "Symbol"),
+ ("sc", "Currency_Symbol"),
+ ("separator", "Separator"),
+ ("sk", "Modifier_Symbol"),
+ ("sm", "Math_Symbol"),
+ ("so", "Other_Symbol"),
+ ("spaceseparator", "Space_Separator"),
+ ("spacingmark", "Spacing_Mark"),
+ ("surrogate", "Surrogate"),
+ ("symbol", "Symbol"),
+ ("titlecaseletter", "Titlecase_Letter"),
+ ("unassigned", "Unassigned"),
+ ("uppercaseletter", "Uppercase_Letter"),
+ ("z", "Separator"),
+ ("zl", "Line_Separator"),
+ ("zp", "Paragraph_Separator"),
+ ("zs", "Space_Separator"),
+ ],
+ ),
+ (
+ "Grapheme_Cluster_Break",
+ &[
+ ("cn", "Control"),
+ ("control", "Control"),
+ ("cr", "CR"),
+ ("eb", "E_Base"),
+ ("ebase", "E_Base"),
+ ("ebasegaz", "E_Base_GAZ"),
+ ("ebg", "E_Base_GAZ"),
+ ("em", "E_Modifier"),
+ ("emodifier", "E_Modifier"),
+ ("ex", "Extend"),
+ ("extend", "Extend"),
+ ("gaz", "Glue_After_Zwj"),
+ ("glueafterzwj", "Glue_After_Zwj"),
+ ("l", "L"),
+ ("lf", "LF"),
+ ("lv", "LV"),
+ ("lvt", "LVT"),
+ ("other", "Other"),
+ ("pp", "Prepend"),
+ ("prepend", "Prepend"),
+ ("regionalindicator", "Regional_Indicator"),
+ ("ri", "Regional_Indicator"),
+ ("sm", "SpacingMark"),
+ ("spacingmark", "SpacingMark"),
+ ("t", "T"),
+ ("v", "V"),
+ ("xx", "Other"),
+ ("zwj", "ZWJ"),
+ ],
+ ),
+ (
+ "Script",
+ &[
+ ("adlam", "Adlam"),
+ ("adlm", "Adlam"),
+ ("aghb", "Caucasian_Albanian"),
+ ("ahom", "Ahom"),
+ ("anatolianhieroglyphs", "Anatolian_Hieroglyphs"),
+ ("arab", "Arabic"),
+ ("arabic", "Arabic"),
+ ("armenian", "Armenian"),
+ ("armi", "Imperial_Aramaic"),
+ ("armn", "Armenian"),
+ ("avestan", "Avestan"),
+ ("avst", "Avestan"),
+ ("bali", "Balinese"),
+ ("balinese", "Balinese"),
+ ("bamu", "Bamum"),
+ ("bamum", "Bamum"),
+ ("bass", "Bassa_Vah"),
+ ("bassavah", "Bassa_Vah"),
+ ("batak", "Batak"),
+ ("batk", "Batak"),
+ ("beng", "Bengali"),
+ ("bengali", "Bengali"),
+ ("bhaiksuki", "Bhaiksuki"),
+ ("bhks", "Bhaiksuki"),
+ ("bopo", "Bopomofo"),
+ ("bopomofo", "Bopomofo"),
+ ("brah", "Brahmi"),
+ ("brahmi", "Brahmi"),
+ ("brai", "Braille"),
+ ("braille", "Braille"),
+ ("bugi", "Buginese"),
+ ("buginese", "Buginese"),
+ ("buhd", "Buhid"),
+ ("buhid", "Buhid"),
+ ("cakm", "Chakma"),
+ ("canadianaboriginal", "Canadian_Aboriginal"),
+ ("cans", "Canadian_Aboriginal"),
+ ("cari", "Carian"),
+ ("carian", "Carian"),
+ ("caucasianalbanian", "Caucasian_Albanian"),
+ ("chakma", "Chakma"),
+ ("cham", "Cham"),
+ ("cher", "Cherokee"),
+ ("cherokee", "Cherokee"),
+ ("chorasmian", "Chorasmian"),
+ ("chrs", "Chorasmian"),
+ ("common", "Common"),
+ ("copt", "Coptic"),
+ ("coptic", "Coptic"),
+ ("cpmn", "Cypro_Minoan"),
+ ("cprt", "Cypriot"),
+ ("cuneiform", "Cuneiform"),
+ ("cypriot", "Cypriot"),
+ ("cyprominoan", "Cypro_Minoan"),
+ ("cyrillic", "Cyrillic"),
+ ("cyrl", "Cyrillic"),
+ ("deseret", "Deseret"),
+ ("deva", "Devanagari"),
+ ("devanagari", "Devanagari"),
+ ("diak", "Dives_Akuru"),
+ ("divesakuru", "Dives_Akuru"),
+ ("dogr", "Dogra"),
+ ("dogra", "Dogra"),
+ ("dsrt", "Deseret"),
+ ("dupl", "Duployan"),
+ ("duployan", "Duployan"),
+ ("egyp", "Egyptian_Hieroglyphs"),
+ ("egyptianhieroglyphs", "Egyptian_Hieroglyphs"),
+ ("elba", "Elbasan"),
+ ("elbasan", "Elbasan"),
+ ("elym", "Elymaic"),
+ ("elymaic", "Elymaic"),
+ ("ethi", "Ethiopic"),
+ ("ethiopic", "Ethiopic"),
+ ("geor", "Georgian"),
+ ("georgian", "Georgian"),
+ ("glag", "Glagolitic"),
+ ("glagolitic", "Glagolitic"),
+ ("gong", "Gunjala_Gondi"),
+ ("gonm", "Masaram_Gondi"),
+ ("goth", "Gothic"),
+ ("gothic", "Gothic"),
+ ("gran", "Grantha"),
+ ("grantha", "Grantha"),
+ ("greek", "Greek"),
+ ("grek", "Greek"),
+ ("gujarati", "Gujarati"),
+ ("gujr", "Gujarati"),
+ ("gunjalagondi", "Gunjala_Gondi"),
+ ("gurmukhi", "Gurmukhi"),
+ ("guru", "Gurmukhi"),
+ ("han", "Han"),
+ ("hang", "Hangul"),
+ ("hangul", "Hangul"),
+ ("hani", "Han"),
+ ("hanifirohingya", "Hanifi_Rohingya"),
+ ("hano", "Hanunoo"),
+ ("hanunoo", "Hanunoo"),
+ ("hatr", "Hatran"),
+ ("hatran", "Hatran"),
+ ("hebr", "Hebrew"),
+ ("hebrew", "Hebrew"),
+ ("hira", "Hiragana"),
+ ("hiragana", "Hiragana"),
+ ("hluw", "Anatolian_Hieroglyphs"),
+ ("hmng", "Pahawh_Hmong"),
+ ("hmnp", "Nyiakeng_Puachue_Hmong"),
+ ("hrkt", "Katakana_Or_Hiragana"),
+ ("hung", "Old_Hungarian"),
+ ("imperialaramaic", "Imperial_Aramaic"),
+ ("inherited", "Inherited"),
+ ("inscriptionalpahlavi", "Inscriptional_Pahlavi"),
+ ("inscriptionalparthian", "Inscriptional_Parthian"),
+ ("ital", "Old_Italic"),
+ ("java", "Javanese"),
+ ("javanese", "Javanese"),
+ ("kaithi", "Kaithi"),
+ ("kali", "Kayah_Li"),
+ ("kana", "Katakana"),
+ ("kannada", "Kannada"),
+ ("katakana", "Katakana"),
+ ("katakanaorhiragana", "Katakana_Or_Hiragana"),
+ ("kawi", "Kawi"),
+ ("kayahli", "Kayah_Li"),
+ ("khar", "Kharoshthi"),
+ ("kharoshthi", "Kharoshthi"),
+ ("khitansmallscript", "Khitan_Small_Script"),
+ ("khmer", "Khmer"),
+ ("khmr", "Khmer"),
+ ("khoj", "Khojki"),
+ ("khojki", "Khojki"),
+ ("khudawadi", "Khudawadi"),
+ ("kits", "Khitan_Small_Script"),
+ ("knda", "Kannada"),
+ ("kthi", "Kaithi"),
+ ("lana", "Tai_Tham"),
+ ("lao", "Lao"),
+ ("laoo", "Lao"),
+ ("latin", "Latin"),
+ ("latn", "Latin"),
+ ("lepc", "Lepcha"),
+ ("lepcha", "Lepcha"),
+ ("limb", "Limbu"),
+ ("limbu", "Limbu"),
+ ("lina", "Linear_A"),
+ ("linb", "Linear_B"),
+ ("lineara", "Linear_A"),
+ ("linearb", "Linear_B"),
+ ("lisu", "Lisu"),
+ ("lyci", "Lycian"),
+ ("lycian", "Lycian"),
+ ("lydi", "Lydian"),
+ ("lydian", "Lydian"),
+ ("mahajani", "Mahajani"),
+ ("mahj", "Mahajani"),
+ ("maka", "Makasar"),
+ ("makasar", "Makasar"),
+ ("malayalam", "Malayalam"),
+ ("mand", "Mandaic"),
+ ("mandaic", "Mandaic"),
+ ("mani", "Manichaean"),
+ ("manichaean", "Manichaean"),
+ ("marc", "Marchen"),
+ ("marchen", "Marchen"),
+ ("masaramgondi", "Masaram_Gondi"),
+ ("medefaidrin", "Medefaidrin"),
+ ("medf", "Medefaidrin"),
+ ("meeteimayek", "Meetei_Mayek"),
+ ("mend", "Mende_Kikakui"),
+ ("mendekikakui", "Mende_Kikakui"),
+ ("merc", "Meroitic_Cursive"),
+ ("mero", "Meroitic_Hieroglyphs"),
+ ("meroiticcursive", "Meroitic_Cursive"),
+ ("meroitichieroglyphs", "Meroitic_Hieroglyphs"),
+ ("miao", "Miao"),
+ ("mlym", "Malayalam"),
+ ("modi", "Modi"),
+ ("mong", "Mongolian"),
+ ("mongolian", "Mongolian"),
+ ("mro", "Mro"),
+ ("mroo", "Mro"),
+ ("mtei", "Meetei_Mayek"),
+ ("mult", "Multani"),
+ ("multani", "Multani"),
+ ("myanmar", "Myanmar"),
+ ("mymr", "Myanmar"),
+ ("nabataean", "Nabataean"),
+ ("nagm", "Nag_Mundari"),
+ ("nagmundari", "Nag_Mundari"),
+ ("nand", "Nandinagari"),
+ ("nandinagari", "Nandinagari"),
+ ("narb", "Old_North_Arabian"),
+ ("nbat", "Nabataean"),
+ ("newa", "Newa"),
+ ("newtailue", "New_Tai_Lue"),
+ ("nko", "Nko"),
+ ("nkoo", "Nko"),
+ ("nshu", "Nushu"),
+ ("nushu", "Nushu"),
+ ("nyiakengpuachuehmong", "Nyiakeng_Puachue_Hmong"),
+ ("ogam", "Ogham"),
+ ("ogham", "Ogham"),
+ ("olchiki", "Ol_Chiki"),
+ ("olck", "Ol_Chiki"),
+ ("oldhungarian", "Old_Hungarian"),
+ ("olditalic", "Old_Italic"),
+ ("oldnortharabian", "Old_North_Arabian"),
+ ("oldpermic", "Old_Permic"),
+ ("oldpersian", "Old_Persian"),
+ ("oldsogdian", "Old_Sogdian"),
+ ("oldsoutharabian", "Old_South_Arabian"),
+ ("oldturkic", "Old_Turkic"),
+ ("olduyghur", "Old_Uyghur"),
+ ("oriya", "Oriya"),
+ ("orkh", "Old_Turkic"),
+ ("orya", "Oriya"),
+ ("osage", "Osage"),
+ ("osge", "Osage"),
+ ("osma", "Osmanya"),
+ ("osmanya", "Osmanya"),
+ ("ougr", "Old_Uyghur"),
+ ("pahawhhmong", "Pahawh_Hmong"),
+ ("palm", "Palmyrene"),
+ ("palmyrene", "Palmyrene"),
+ ("pauc", "Pau_Cin_Hau"),
+ ("paucinhau", "Pau_Cin_Hau"),
+ ("perm", "Old_Permic"),
+ ("phag", "Phags_Pa"),
+ ("phagspa", "Phags_Pa"),
+ ("phli", "Inscriptional_Pahlavi"),
+ ("phlp", "Psalter_Pahlavi"),
+ ("phnx", "Phoenician"),
+ ("phoenician", "Phoenician"),
+ ("plrd", "Miao"),
+ ("prti", "Inscriptional_Parthian"),
+ ("psalterpahlavi", "Psalter_Pahlavi"),
+ ("qaac", "Coptic"),
+ ("qaai", "Inherited"),
+ ("rejang", "Rejang"),
+ ("rjng", "Rejang"),
+ ("rohg", "Hanifi_Rohingya"),
+ ("runic", "Runic"),
+ ("runr", "Runic"),
+ ("samaritan", "Samaritan"),
+ ("samr", "Samaritan"),
+ ("sarb", "Old_South_Arabian"),
+ ("saur", "Saurashtra"),
+ ("saurashtra", "Saurashtra"),
+ ("sgnw", "SignWriting"),
+ ("sharada", "Sharada"),
+ ("shavian", "Shavian"),
+ ("shaw", "Shavian"),
+ ("shrd", "Sharada"),
+ ("sidd", "Siddham"),
+ ("siddham", "Siddham"),
+ ("signwriting", "SignWriting"),
+ ("sind", "Khudawadi"),
+ ("sinh", "Sinhala"),
+ ("sinhala", "Sinhala"),
+ ("sogd", "Sogdian"),
+ ("sogdian", "Sogdian"),
+ ("sogo", "Old_Sogdian"),
+ ("sora", "Sora_Sompeng"),
+ ("sorasompeng", "Sora_Sompeng"),
+ ("soyo", "Soyombo"),
+ ("soyombo", "Soyombo"),
+ ("sund", "Sundanese"),
+ ("sundanese", "Sundanese"),
+ ("sylo", "Syloti_Nagri"),
+ ("sylotinagri", "Syloti_Nagri"),
+ ("syrc", "Syriac"),
+ ("syriac", "Syriac"),
+ ("tagalog", "Tagalog"),
+ ("tagb", "Tagbanwa"),
+ ("tagbanwa", "Tagbanwa"),
+ ("taile", "Tai_Le"),
+ ("taitham", "Tai_Tham"),
+ ("taiviet", "Tai_Viet"),
+ ("takr", "Takri"),
+ ("takri", "Takri"),
+ ("tale", "Tai_Le"),
+ ("talu", "New_Tai_Lue"),
+ ("tamil", "Tamil"),
+ ("taml", "Tamil"),
+ ("tang", "Tangut"),
+ ("tangsa", "Tangsa"),
+ ("tangut", "Tangut"),
+ ("tavt", "Tai_Viet"),
+ ("telu", "Telugu"),
+ ("telugu", "Telugu"),
+ ("tfng", "Tifinagh"),
+ ("tglg", "Tagalog"),
+ ("thaa", "Thaana"),
+ ("thaana", "Thaana"),
+ ("thai", "Thai"),
+ ("tibetan", "Tibetan"),
+ ("tibt", "Tibetan"),
+ ("tifinagh", "Tifinagh"),
+ ("tirh", "Tirhuta"),
+ ("tirhuta", "Tirhuta"),
+ ("tnsa", "Tangsa"),
+ ("toto", "Toto"),
+ ("ugar", "Ugaritic"),
+ ("ugaritic", "Ugaritic"),
+ ("unknown", "Unknown"),
+ ("vai", "Vai"),
+ ("vaii", "Vai"),
+ ("vith", "Vithkuqi"),
+ ("vithkuqi", "Vithkuqi"),
+ ("wancho", "Wancho"),
+ ("wara", "Warang_Citi"),
+ ("warangciti", "Warang_Citi"),
+ ("wcho", "Wancho"),
+ ("xpeo", "Old_Persian"),
+ ("xsux", "Cuneiform"),
+ ("yezi", "Yezidi"),
+ ("yezidi", "Yezidi"),
+ ("yi", "Yi"),
+ ("yiii", "Yi"),
+ ("zanabazarsquare", "Zanabazar_Square"),
+ ("zanb", "Zanabazar_Square"),
+ ("zinh", "Inherited"),
+ ("zyyy", "Common"),
+ ("zzzz", "Unknown"),
+ ],
+ ),
+ (
+ "Script_Extensions",
+ &[
+ ("adlam", "Adlam"),
+ ("adlm", "Adlam"),
+ ("aghb", "Caucasian_Albanian"),
+ ("ahom", "Ahom"),
+ ("anatolianhieroglyphs", "Anatolian_Hieroglyphs"),
+ ("arab", "Arabic"),
+ ("arabic", "Arabic"),
+ ("armenian", "Armenian"),
+ ("armi", "Imperial_Aramaic"),
+ ("armn", "Armenian"),
+ ("avestan", "Avestan"),
+ ("avst", "Avestan"),
+ ("bali", "Balinese"),
+ ("balinese", "Balinese"),
+ ("bamu", "Bamum"),
+ ("bamum", "Bamum"),
+ ("bass", "Bassa_Vah"),
+ ("bassavah", "Bassa_Vah"),
+ ("batak", "Batak"),
+ ("batk", "Batak"),
+ ("beng", "Bengali"),
+ ("bengali", "Bengali"),
+ ("bhaiksuki", "Bhaiksuki"),
+ ("bhks", "Bhaiksuki"),
+ ("bopo", "Bopomofo"),
+ ("bopomofo", "Bopomofo"),
+ ("brah", "Brahmi"),
+ ("brahmi", "Brahmi"),
+ ("brai", "Braille"),
+ ("braille", "Braille"),
+ ("bugi", "Buginese"),
+ ("buginese", "Buginese"),
+ ("buhd", "Buhid"),
+ ("buhid", "Buhid"),
+ ("cakm", "Chakma"),
+ ("canadianaboriginal", "Canadian_Aboriginal"),
+ ("cans", "Canadian_Aboriginal"),
+ ("cari", "Carian"),
+ ("carian", "Carian"),
+ ("caucasianalbanian", "Caucasian_Albanian"),
+ ("chakma", "Chakma"),
+ ("cham", "Cham"),
+ ("cher", "Cherokee"),
+ ("cherokee", "Cherokee"),
+ ("chorasmian", "Chorasmian"),
+ ("chrs", "Chorasmian"),
+ ("common", "Common"),
+ ("copt", "Coptic"),
+ ("coptic", "Coptic"),
+ ("cpmn", "Cypro_Minoan"),
+ ("cprt", "Cypriot"),
+ ("cuneiform", "Cuneiform"),
+ ("cypriot", "Cypriot"),
+ ("cyprominoan", "Cypro_Minoan"),
+ ("cyrillic", "Cyrillic"),
+ ("cyrl", "Cyrillic"),
+ ("deseret", "Deseret"),
+ ("deva", "Devanagari"),
+ ("devanagari", "Devanagari"),
+ ("diak", "Dives_Akuru"),
+ ("divesakuru", "Dives_Akuru"),
+ ("dogr", "Dogra"),
+ ("dogra", "Dogra"),
+ ("dsrt", "Deseret"),
+ ("dupl", "Duployan"),
+ ("duployan", "Duployan"),
+ ("egyp", "Egyptian_Hieroglyphs"),
+ ("egyptianhieroglyphs", "Egyptian_Hieroglyphs"),
+ ("elba", "Elbasan"),
+ ("elbasan", "Elbasan"),
+ ("elym", "Elymaic"),
+ ("elymaic", "Elymaic"),
+ ("ethi", "Ethiopic"),
+ ("ethiopic", "Ethiopic"),
+ ("geor", "Georgian"),
+ ("georgian", "Georgian"),
+ ("glag", "Glagolitic"),
+ ("glagolitic", "Glagolitic"),
+ ("gong", "Gunjala_Gondi"),
+ ("gonm", "Masaram_Gondi"),
+ ("goth", "Gothic"),
+ ("gothic", "Gothic"),
+ ("gran", "Grantha"),
+ ("grantha", "Grantha"),
+ ("greek", "Greek"),
+ ("grek", "Greek"),
+ ("gujarati", "Gujarati"),
+ ("gujr", "Gujarati"),
+ ("gunjalagondi", "Gunjala_Gondi"),
+ ("gurmukhi", "Gurmukhi"),
+ ("guru", "Gurmukhi"),
+ ("han", "Han"),
+ ("hang", "Hangul"),
+ ("hangul", "Hangul"),
+ ("hani", "Han"),
+ ("hanifirohingya", "Hanifi_Rohingya"),
+ ("hano", "Hanunoo"),
+ ("hanunoo", "Hanunoo"),
+ ("hatr", "Hatran"),
+ ("hatran", "Hatran"),
+ ("hebr", "Hebrew"),
+ ("hebrew", "Hebrew"),
+ ("hira", "Hiragana"),
+ ("hiragana", "Hiragana"),
+ ("hluw", "Anatolian_Hieroglyphs"),
+ ("hmng", "Pahawh_Hmong"),
+ ("hmnp", "Nyiakeng_Puachue_Hmong"),
+ ("hrkt", "Katakana_Or_Hiragana"),
+ ("hung", "Old_Hungarian"),
+ ("imperialaramaic", "Imperial_Aramaic"),
+ ("inherited", "Inherited"),
+ ("inscriptionalpahlavi", "Inscriptional_Pahlavi"),
+ ("inscriptionalparthian", "Inscriptional_Parthian"),
+ ("ital", "Old_Italic"),
+ ("java", "Javanese"),
+ ("javanese", "Javanese"),
+ ("kaithi", "Kaithi"),
+ ("kali", "Kayah_Li"),
+ ("kana", "Katakana"),
+ ("kannada", "Kannada"),
+ ("katakana", "Katakana"),
+ ("katakanaorhiragana", "Katakana_Or_Hiragana"),
+ ("kawi", "Kawi"),
+ ("kayahli", "Kayah_Li"),
+ ("khar", "Kharoshthi"),
+ ("kharoshthi", "Kharoshthi"),
+ ("khitansmallscript", "Khitan_Small_Script"),
+ ("khmer", "Khmer"),
+ ("khmr", "Khmer"),
+ ("khoj", "Khojki"),
+ ("khojki", "Khojki"),
+ ("khudawadi", "Khudawadi"),
+ ("kits", "Khitan_Small_Script"),
+ ("knda", "Kannada"),
+ ("kthi", "Kaithi"),
+ ("lana", "Tai_Tham"),
+ ("lao", "Lao"),
+ ("laoo", "Lao"),
+ ("latin", "Latin"),
+ ("latn", "Latin"),
+ ("lepc", "Lepcha"),
+ ("lepcha", "Lepcha"),
+ ("limb", "Limbu"),
+ ("limbu", "Limbu"),
+ ("lina", "Linear_A"),
+ ("linb", "Linear_B"),
+ ("lineara", "Linear_A"),
+ ("linearb", "Linear_B"),
+ ("lisu", "Lisu"),
+ ("lyci", "Lycian"),
+ ("lycian", "Lycian"),
+ ("lydi", "Lydian"),
+ ("lydian", "Lydian"),
+ ("mahajani", "Mahajani"),
+ ("mahj", "Mahajani"),
+ ("maka", "Makasar"),
+ ("makasar", "Makasar"),
+ ("malayalam", "Malayalam"),
+ ("mand", "Mandaic"),
+ ("mandaic", "Mandaic"),
+ ("mani", "Manichaean"),
+ ("manichaean", "Manichaean"),
+ ("marc", "Marchen"),
+ ("marchen", "Marchen"),
+ ("masaramgondi", "Masaram_Gondi"),
+ ("medefaidrin", "Medefaidrin"),
+ ("medf", "Medefaidrin"),
+ ("meeteimayek", "Meetei_Mayek"),
+ ("mend", "Mende_Kikakui"),
+ ("mendekikakui", "Mende_Kikakui"),
+ ("merc", "Meroitic_Cursive"),
+ ("mero", "Meroitic_Hieroglyphs"),
+ ("meroiticcursive", "Meroitic_Cursive"),
+ ("meroitichieroglyphs", "Meroitic_Hieroglyphs"),
+ ("miao", "Miao"),
+ ("mlym", "Malayalam"),
+ ("modi", "Modi"),
+ ("mong", "Mongolian"),
+ ("mongolian", "Mongolian"),
+ ("mro", "Mro"),
+ ("mroo", "Mro"),
+ ("mtei", "Meetei_Mayek"),
+ ("mult", "Multani"),
+ ("multani", "Multani"),
+ ("myanmar", "Myanmar"),
+ ("mymr", "Myanmar"),
+ ("nabataean", "Nabataean"),
+ ("nagm", "Nag_Mundari"),
+ ("nagmundari", "Nag_Mundari"),
+ ("nand", "Nandinagari"),
+ ("nandinagari", "Nandinagari"),
+ ("narb", "Old_North_Arabian"),
+ ("nbat", "Nabataean"),
+ ("newa", "Newa"),
+ ("newtailue", "New_Tai_Lue"),
+ ("nko", "Nko"),
+ ("nkoo", "Nko"),
+ ("nshu", "Nushu"),
+ ("nushu", "Nushu"),
+ ("nyiakengpuachuehmong", "Nyiakeng_Puachue_Hmong"),
+ ("ogam", "Ogham"),
+ ("ogham", "Ogham"),
+ ("olchiki", "Ol_Chiki"),
+ ("olck", "Ol_Chiki"),
+ ("oldhungarian", "Old_Hungarian"),
+ ("olditalic", "Old_Italic"),
+ ("oldnortharabian", "Old_North_Arabian"),
+ ("oldpermic", "Old_Permic"),
+ ("oldpersian", "Old_Persian"),
+ ("oldsogdian", "Old_Sogdian"),
+ ("oldsoutharabian", "Old_South_Arabian"),
+ ("oldturkic", "Old_Turkic"),
+ ("olduyghur", "Old_Uyghur"),
+ ("oriya", "Oriya"),
+ ("orkh", "Old_Turkic"),
+ ("orya", "Oriya"),
+ ("osage", "Osage"),
+ ("osge", "Osage"),
+ ("osma", "Osmanya"),
+ ("osmanya", "Osmanya"),
+ ("ougr", "Old_Uyghur"),
+ ("pahawhhmong", "Pahawh_Hmong"),
+ ("palm", "Palmyrene"),
+ ("palmyrene", "Palmyrene"),
+ ("pauc", "Pau_Cin_Hau"),
+ ("paucinhau", "Pau_Cin_Hau"),
+ ("perm", "Old_Permic"),
+ ("phag", "Phags_Pa"),
+ ("phagspa", "Phags_Pa"),
+ ("phli", "Inscriptional_Pahlavi"),
+ ("phlp", "Psalter_Pahlavi"),
+ ("phnx", "Phoenician"),
+ ("phoenician", "Phoenician"),
+ ("plrd", "Miao"),
+ ("prti", "Inscriptional_Parthian"),
+ ("psalterpahlavi", "Psalter_Pahlavi"),
+ ("qaac", "Coptic"),
+ ("qaai", "Inherited"),
+ ("rejang", "Rejang"),
+ ("rjng", "Rejang"),
+ ("rohg", "Hanifi_Rohingya"),
+ ("runic", "Runic"),
+ ("runr", "Runic"),
+ ("samaritan", "Samaritan"),
+ ("samr", "Samaritan"),
+ ("sarb", "Old_South_Arabian"),
+ ("saur", "Saurashtra"),
+ ("saurashtra", "Saurashtra"),
+ ("sgnw", "SignWriting"),
+ ("sharada", "Sharada"),
+ ("shavian", "Shavian"),
+ ("shaw", "Shavian"),
+ ("shrd", "Sharada"),
+ ("sidd", "Siddham"),
+ ("siddham", "Siddham"),
+ ("signwriting", "SignWriting"),
+ ("sind", "Khudawadi"),
+ ("sinh", "Sinhala"),
+ ("sinhala", "Sinhala"),
+ ("sogd", "Sogdian"),
+ ("sogdian", "Sogdian"),
+ ("sogo", "Old_Sogdian"),
+ ("sora", "Sora_Sompeng"),
+ ("sorasompeng", "Sora_Sompeng"),
+ ("soyo", "Soyombo"),
+ ("soyombo", "Soyombo"),
+ ("sund", "Sundanese"),
+ ("sundanese", "Sundanese"),
+ ("sylo", "Syloti_Nagri"),
+ ("sylotinagri", "Syloti_Nagri"),
+ ("syrc", "Syriac"),
+ ("syriac", "Syriac"),
+ ("tagalog", "Tagalog"),
+ ("tagb", "Tagbanwa"),
+ ("tagbanwa", "Tagbanwa"),
+ ("taile", "Tai_Le"),
+ ("taitham", "Tai_Tham"),
+ ("taiviet", "Tai_Viet"),
+ ("takr", "Takri"),
+ ("takri", "Takri"),
+ ("tale", "Tai_Le"),
+ ("talu", "New_Tai_Lue"),
+ ("tamil", "Tamil"),
+ ("taml", "Tamil"),
+ ("tang", "Tangut"),
+ ("tangsa", "Tangsa"),
+ ("tangut", "Tangut"),
+ ("tavt", "Tai_Viet"),
+ ("telu", "Telugu"),
+ ("telugu", "Telugu"),
+ ("tfng", "Tifinagh"),
+ ("tglg", "Tagalog"),
+ ("thaa", "Thaana"),
+ ("thaana", "Thaana"),
+ ("thai", "Thai"),
+ ("tibetan", "Tibetan"),
+ ("tibt", "Tibetan"),
+ ("tifinagh", "Tifinagh"),
+ ("tirh", "Tirhuta"),
+ ("tirhuta", "Tirhuta"),
+ ("tnsa", "Tangsa"),
+ ("toto", "Toto"),
+ ("ugar", "Ugaritic"),
+ ("ugaritic", "Ugaritic"),
+ ("unknown", "Unknown"),
+ ("vai", "Vai"),
+ ("vaii", "Vai"),
+ ("vith", "Vithkuqi"),
+ ("vithkuqi", "Vithkuqi"),
+ ("wancho", "Wancho"),
+ ("wara", "Warang_Citi"),
+ ("warangciti", "Warang_Citi"),
+ ("wcho", "Wancho"),
+ ("xpeo", "Old_Persian"),
+ ("xsux", "Cuneiform"),
+ ("yezi", "Yezidi"),
+ ("yezidi", "Yezidi"),
+ ("yi", "Yi"),
+ ("yiii", "Yi"),
+ ("zanabazarsquare", "Zanabazar_Square"),
+ ("zanb", "Zanabazar_Square"),
+ ("zinh", "Inherited"),
+ ("zyyy", "Common"),
+ ("zzzz", "Unknown"),
+ ],
+ ),
+ (
+ "Sentence_Break",
+ &[
+ ("at", "ATerm"),
+ ("aterm", "ATerm"),
+ ("cl", "Close"),
+ ("close", "Close"),
+ ("cr", "CR"),
+ ("ex", "Extend"),
+ ("extend", "Extend"),
+ ("fo", "Format"),
+ ("format", "Format"),
+ ("le", "OLetter"),
+ ("lf", "LF"),
+ ("lo", "Lower"),
+ ("lower", "Lower"),
+ ("nu", "Numeric"),
+ ("numeric", "Numeric"),
+ ("oletter", "OLetter"),
+ ("other", "Other"),
+ ("sc", "SContinue"),
+ ("scontinue", "SContinue"),
+ ("se", "Sep"),
+ ("sep", "Sep"),
+ ("sp", "Sp"),
+ ("st", "STerm"),
+ ("sterm", "STerm"),
+ ("up", "Upper"),
+ ("upper", "Upper"),
+ ("xx", "Other"),
+ ],
+ ),
+ (
+ "Word_Break",
+ &[
+ ("aletter", "ALetter"),
+ ("cr", "CR"),
+ ("doublequote", "Double_Quote"),
+ ("dq", "Double_Quote"),
+ ("eb", "E_Base"),
+ ("ebase", "E_Base"),
+ ("ebasegaz", "E_Base_GAZ"),
+ ("ebg", "E_Base_GAZ"),
+ ("em", "E_Modifier"),
+ ("emodifier", "E_Modifier"),
+ ("ex", "ExtendNumLet"),
+ ("extend", "Extend"),
+ ("extendnumlet", "ExtendNumLet"),
+ ("fo", "Format"),
+ ("format", "Format"),
+ ("gaz", "Glue_After_Zwj"),
+ ("glueafterzwj", "Glue_After_Zwj"),
+ ("hebrewletter", "Hebrew_Letter"),
+ ("hl", "Hebrew_Letter"),
+ ("ka", "Katakana"),
+ ("katakana", "Katakana"),
+ ("le", "ALetter"),
+ ("lf", "LF"),
+ ("mb", "MidNumLet"),
+ ("midletter", "MidLetter"),
+ ("midnum", "MidNum"),
+ ("midnumlet", "MidNumLet"),
+ ("ml", "MidLetter"),
+ ("mn", "MidNum"),
+ ("newline", "Newline"),
+ ("nl", "Newline"),
+ ("nu", "Numeric"),
+ ("numeric", "Numeric"),
+ ("other", "Other"),
+ ("regionalindicator", "Regional_Indicator"),
+ ("ri", "Regional_Indicator"),
+ ("singlequote", "Single_Quote"),
+ ("sq", "Single_Quote"),
+ ("wsegspace", "WSegSpace"),
+ ("xx", "Other"),
+ ("zwj", "ZWJ"),
+ ],
+ ),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/script.rs b/third_party/rust/regex-syntax/src/unicode_tables/script.rs
new file mode 100644
index 0000000000..cc5c400ddb
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/script.rs
@@ -0,0 +1,1263 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate script ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("Adlam", ADLAM),
+ ("Ahom", AHOM),
+ ("Anatolian_Hieroglyphs", ANATOLIAN_HIEROGLYPHS),
+ ("Arabic", ARABIC),
+ ("Armenian", ARMENIAN),
+ ("Avestan", AVESTAN),
+ ("Balinese", BALINESE),
+ ("Bamum", BAMUM),
+ ("Bassa_Vah", BASSA_VAH),
+ ("Batak", BATAK),
+ ("Bengali", BENGALI),
+ ("Bhaiksuki", BHAIKSUKI),
+ ("Bopomofo", BOPOMOFO),
+ ("Brahmi", BRAHMI),
+ ("Braille", BRAILLE),
+ ("Buginese", BUGINESE),
+ ("Buhid", BUHID),
+ ("Canadian_Aboriginal", CANADIAN_ABORIGINAL),
+ ("Carian", CARIAN),
+ ("Caucasian_Albanian", CAUCASIAN_ALBANIAN),
+ ("Chakma", CHAKMA),
+ ("Cham", CHAM),
+ ("Cherokee", CHEROKEE),
+ ("Chorasmian", CHORASMIAN),
+ ("Common", COMMON),
+ ("Coptic", COPTIC),
+ ("Cuneiform", CUNEIFORM),
+ ("Cypriot", CYPRIOT),
+ ("Cypro_Minoan", CYPRO_MINOAN),
+ ("Cyrillic", CYRILLIC),
+ ("Deseret", DESERET),
+ ("Devanagari", DEVANAGARI),
+ ("Dives_Akuru", DIVES_AKURU),
+ ("Dogra", DOGRA),
+ ("Duployan", DUPLOYAN),
+ ("Egyptian_Hieroglyphs", EGYPTIAN_HIEROGLYPHS),
+ ("Elbasan", ELBASAN),
+ ("Elymaic", ELYMAIC),
+ ("Ethiopic", ETHIOPIC),
+ ("Georgian", GEORGIAN),
+ ("Glagolitic", GLAGOLITIC),
+ ("Gothic", GOTHIC),
+ ("Grantha", GRANTHA),
+ ("Greek", GREEK),
+ ("Gujarati", GUJARATI),
+ ("Gunjala_Gondi", GUNJALA_GONDI),
+ ("Gurmukhi", GURMUKHI),
+ ("Han", HAN),
+ ("Hangul", HANGUL),
+ ("Hanifi_Rohingya", HANIFI_ROHINGYA),
+ ("Hanunoo", HANUNOO),
+ ("Hatran", HATRAN),
+ ("Hebrew", HEBREW),
+ ("Hiragana", HIRAGANA),
+ ("Imperial_Aramaic", IMPERIAL_ARAMAIC),
+ ("Inherited", INHERITED),
+ ("Inscriptional_Pahlavi", INSCRIPTIONAL_PAHLAVI),
+ ("Inscriptional_Parthian", INSCRIPTIONAL_PARTHIAN),
+ ("Javanese", JAVANESE),
+ ("Kaithi", KAITHI),
+ ("Kannada", KANNADA),
+ ("Katakana", KATAKANA),
+ ("Kawi", KAWI),
+ ("Kayah_Li", KAYAH_LI),
+ ("Kharoshthi", KHAROSHTHI),
+ ("Khitan_Small_Script", KHITAN_SMALL_SCRIPT),
+ ("Khmer", KHMER),
+ ("Khojki", KHOJKI),
+ ("Khudawadi", KHUDAWADI),
+ ("Lao", LAO),
+ ("Latin", LATIN),
+ ("Lepcha", LEPCHA),
+ ("Limbu", LIMBU),
+ ("Linear_A", LINEAR_A),
+ ("Linear_B", LINEAR_B),
+ ("Lisu", LISU),
+ ("Lycian", LYCIAN),
+ ("Lydian", LYDIAN),
+ ("Mahajani", MAHAJANI),
+ ("Makasar", MAKASAR),
+ ("Malayalam", MALAYALAM),
+ ("Mandaic", MANDAIC),
+ ("Manichaean", MANICHAEAN),
+ ("Marchen", MARCHEN),
+ ("Masaram_Gondi", MASARAM_GONDI),
+ ("Medefaidrin", MEDEFAIDRIN),
+ ("Meetei_Mayek", MEETEI_MAYEK),
+ ("Mende_Kikakui", MENDE_KIKAKUI),
+ ("Meroitic_Cursive", MEROITIC_CURSIVE),
+ ("Meroitic_Hieroglyphs", MEROITIC_HIEROGLYPHS),
+ ("Miao", MIAO),
+ ("Modi", MODI),
+ ("Mongolian", MONGOLIAN),
+ ("Mro", MRO),
+ ("Multani", MULTANI),
+ ("Myanmar", MYANMAR),
+ ("Nabataean", NABATAEAN),
+ ("Nag_Mundari", NAG_MUNDARI),
+ ("Nandinagari", NANDINAGARI),
+ ("New_Tai_Lue", NEW_TAI_LUE),
+ ("Newa", NEWA),
+ ("Nko", NKO),
+ ("Nushu", NUSHU),
+ ("Nyiakeng_Puachue_Hmong", NYIAKENG_PUACHUE_HMONG),
+ ("Ogham", OGHAM),
+ ("Ol_Chiki", OL_CHIKI),
+ ("Old_Hungarian", OLD_HUNGARIAN),
+ ("Old_Italic", OLD_ITALIC),
+ ("Old_North_Arabian", OLD_NORTH_ARABIAN),
+ ("Old_Permic", OLD_PERMIC),
+ ("Old_Persian", OLD_PERSIAN),
+ ("Old_Sogdian", OLD_SOGDIAN),
+ ("Old_South_Arabian", OLD_SOUTH_ARABIAN),
+ ("Old_Turkic", OLD_TURKIC),
+ ("Old_Uyghur", OLD_UYGHUR),
+ ("Oriya", ORIYA),
+ ("Osage", OSAGE),
+ ("Osmanya", OSMANYA),
+ ("Pahawh_Hmong", PAHAWH_HMONG),
+ ("Palmyrene", PALMYRENE),
+ ("Pau_Cin_Hau", PAU_CIN_HAU),
+ ("Phags_Pa", PHAGS_PA),
+ ("Phoenician", PHOENICIAN),
+ ("Psalter_Pahlavi", PSALTER_PAHLAVI),
+ ("Rejang", REJANG),
+ ("Runic", RUNIC),
+ ("Samaritan", SAMARITAN),
+ ("Saurashtra", SAURASHTRA),
+ ("Sharada", SHARADA),
+ ("Shavian", SHAVIAN),
+ ("Siddham", SIDDHAM),
+ ("SignWriting", SIGNWRITING),
+ ("Sinhala", SINHALA),
+ ("Sogdian", SOGDIAN),
+ ("Sora_Sompeng", SORA_SOMPENG),
+ ("Soyombo", SOYOMBO),
+ ("Sundanese", SUNDANESE),
+ ("Syloti_Nagri", SYLOTI_NAGRI),
+ ("Syriac", SYRIAC),
+ ("Tagalog", TAGALOG),
+ ("Tagbanwa", TAGBANWA),
+ ("Tai_Le", TAI_LE),
+ ("Tai_Tham", TAI_THAM),
+ ("Tai_Viet", TAI_VIET),
+ ("Takri", TAKRI),
+ ("Tamil", TAMIL),
+ ("Tangsa", TANGSA),
+ ("Tangut", TANGUT),
+ ("Telugu", TELUGU),
+ ("Thaana", THAANA),
+ ("Thai", THAI),
+ ("Tibetan", TIBETAN),
+ ("Tifinagh", TIFINAGH),
+ ("Tirhuta", TIRHUTA),
+ ("Toto", TOTO),
+ ("Ugaritic", UGARITIC),
+ ("Vai", VAI),
+ ("Vithkuqi", VITHKUQI),
+ ("Wancho", WANCHO),
+ ("Warang_Citi", WARANG_CITI),
+ ("Yezidi", YEZIDI),
+ ("Yi", YI),
+ ("Zanabazar_Square", ZANABAZAR_SQUARE),
+];
+
+pub const ADLAM: &'static [(char, char)] =
+ &[('𞤀', '𞥋'), ('𞥐', '𞥙'), ('𞥞', '𞥟')];
+
+pub const AHOM: &'static [(char, char)] =
+ &[('𑜀', '𑜚'), ('\u{1171d}', '\u{1172b}'), ('𑜰', '𑝆')];
+
+pub const ANATOLIAN_HIEROGLYPHS: &'static [(char, char)] = &[('𔐀', '𔙆')];
+
+pub const ARABIC: &'static [(char, char)] = &[
+ ('\u{600}', '\u{604}'),
+ ('؆', '؋'),
+ ('؍', '\u{61a}'),
+ ('\u{61c}', '؞'),
+ ('ؠ', 'ؿ'),
+ ('ف', 'ي'),
+ ('\u{656}', 'ٯ'),
+ ('ٱ', '\u{6dc}'),
+ ('۞', 'ۿ'),
+ ('ݐ', 'ݿ'),
+ ('ࡰ', 'ࢎ'),
+ ('\u{890}', '\u{891}'),
+ ('\u{898}', '\u{8e1}'),
+ ('\u{8e3}', '\u{8ff}'),
+ ('ﭐ', '﯂'),
+ ('ﯓ', 'ﴽ'),
+ ('﵀', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('﷏', '﷏'),
+ ('ﷰ', '﷿'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('𐹠', '𐹾'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𞻰', '𞻱'),
+];
+
+pub const ARMENIAN: &'static [(char, char)] =
+ &[('Ա', 'Ֆ'), ('ՙ', '֊'), ('֍', '֏'), ('ﬓ', 'ﬗ')];
+
+pub const AVESTAN: &'static [(char, char)] = &[('𐬀', '𐬵'), ('𐬹', '𐬿')];
+
+pub const BALINESE: &'static [(char, char)] = &[('\u{1b00}', 'ᭌ'), ('᭐', '᭾')];
+
+pub const BAMUM: &'static [(char, char)] = &[('ꚠ', '꛷'), ('𖠀', '𖨸')];
+
+pub const BASSA_VAH: &'static [(char, char)] =
+ &[('𖫐', '𖫭'), ('\u{16af0}', '𖫵')];
+
+pub const BATAK: &'static [(char, char)] = &[('ᯀ', '᯳'), ('᯼', '᯿')];
+
+pub const BENGALI: &'static [(char, char)] = &[
+ ('ঀ', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('\u{9bc}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৎ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('০', '\u{9fe}'),
+];
+
+pub const BHAIKSUKI: &'static [(char, char)] =
+ &[('𑰀', '𑰈'), ('𑰊', '\u{11c36}'), ('\u{11c38}', '𑱅'), ('𑱐', '𑱬')];
+
+pub const BOPOMOFO: &'static [(char, char)] =
+ &[('˪', '˫'), ('ㄅ', 'ㄯ'), ('ㆠ', 'ㆿ')];
+
+pub const BRAHMI: &'static [(char, char)] =
+ &[('𑀀', '𑁍'), ('𑁒', '𑁵'), ('\u{1107f}', '\u{1107f}')];
+
+pub const BRAILLE: &'static [(char, char)] = &[('⠀', '⣿')];
+
+pub const BUGINESE: &'static [(char, char)] = &[('ᨀ', '\u{1a1b}'), ('᨞', '᨟')];
+
+pub const BUHID: &'static [(char, char)] = &[('ᝀ', '\u{1753}')];
+
+pub const CANADIAN_ABORIGINAL: &'static [(char, char)] =
+ &[('᐀', 'ᙿ'), ('ᢰ', 'ᣵ'), ('𑪰', '𑪿')];
+
+pub const CARIAN: &'static [(char, char)] = &[('𐊠', '𐋐')];
+
+pub const CAUCASIAN_ALBANIAN: &'static [(char, char)] =
+ &[('𐔰', '𐕣'), ('𐕯', '𐕯')];
+
+pub const CHAKMA: &'static [(char, char)] =
+ &[('\u{11100}', '\u{11134}'), ('𑄶', '𑅇')];
+
+pub const CHAM: &'static [(char, char)] =
+ &[('ꨀ', '\u{aa36}'), ('ꩀ', 'ꩍ'), ('꩐', '꩙'), ('꩜', '꩟')];
+
+pub const CHEROKEE: &'static [(char, char)] =
+ &[('Ꭰ', 'Ᏽ'), ('ᏸ', 'ᏽ'), ('ꭰ', 'ꮿ')];
+
+pub const CHORASMIAN: &'static [(char, char)] = &[('𐾰', '𐿋')];
+
+pub const COMMON: &'static [(char, char)] = &[
+ ('\0', '@'),
+ ('[', '`'),
+ ('{', '©'),
+ ('«', '¹'),
+ ('»', '¿'),
+ ('×', '×'),
+ ('÷', '÷'),
+ ('ʹ', '˟'),
+ ('˥', '˩'),
+ ('ˬ', '˿'),
+ ('ʹ', 'ʹ'),
+ (';', ';'),
+ ('΅', '΅'),
+ ('·', '·'),
+ ('\u{605}', '\u{605}'),
+ ('،', '،'),
+ ('؛', '؛'),
+ ('؟', '؟'),
+ ('ـ', 'ـ'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('।', '॥'),
+ ('฿', '฿'),
+ ('࿕', '࿘'),
+ ('჻', '჻'),
+ ('᛫', '᛭'),
+ ('᜵', '᜶'),
+ ('᠂', '᠃'),
+ ('᠅', '᠅'),
+ ('᳓', '᳓'),
+ ('᳡', '᳡'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', '᳷'),
+ ('ᳺ', 'ᳺ'),
+ ('\u{2000}', '\u{200b}'),
+ ('\u{200e}', '\u{2064}'),
+ ('\u{2066}', '⁰'),
+ ('⁴', '⁾'),
+ ('₀', '₎'),
+ ('₠', '⃀'),
+ ('℀', '℥'),
+ ('℧', '℩'),
+ ('ℬ', 'ℱ'),
+ ('ℳ', '⅍'),
+ ('⅏', '⅟'),
+ ('↉', '↋'),
+ ('←', '␦'),
+ ('⑀', '⑊'),
+ ('①', '⟿'),
+ ('⤀', '⭳'),
+ ('⭶', '⮕'),
+ ('⮗', '⯿'),
+ ('⸀', '⹝'),
+ ('⿰', '⿻'),
+ ('\u{3000}', '〄'),
+ ('〆', '〆'),
+ ('〈', '〠'),
+ ('〰', '〷'),
+ ('〼', '〿'),
+ ('゛', '゜'),
+ ('゠', '゠'),
+ ('・', 'ー'),
+ ('㆐', '㆟'),
+ ('㇀', '㇣'),
+ ('㈠', '㉟'),
+ ('㉿', '㋏'),
+ ('㋿', '㋿'),
+ ('㍘', '㏿'),
+ ('䷀', '䷿'),
+ ('꜀', '꜡'),
+ ('ꞈ', '꞊'),
+ ('꠰', '꠹'),
+ ('꤮', '꤮'),
+ ('ꧏ', 'ꧏ'),
+ ('꭛', '꭛'),
+ ('꭪', '꭫'),
+ ('﴾', '﴿'),
+ ('︐', '︙'),
+ ('︰', '﹒'),
+ ('﹔', '﹦'),
+ ('﹨', '﹫'),
+ ('\u{feff}', '\u{feff}'),
+ ('!', '@'),
+ ('[', '`'),
+ ('{', '・'),
+ ('ー', 'ー'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('¢', '₩'),
+ ('│', '○'),
+ ('\u{fff9}', '�'),
+ ('𐄀', '𐄂'),
+ ('𐄇', '𐄳'),
+ ('𐄷', '𐄿'),
+ ('𐆐', '𐆜'),
+ ('𐇐', '𐇼'),
+ ('𐋡', '𐋻'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('𜽐', '𜿃'),
+ ('𝀀', '𝃵'),
+ ('𝄀', '𝄦'),
+ ('𝄩', '𝅦'),
+ ('𝅪', '\u{1d17a}'),
+ ('𝆃', '𝆄'),
+ ('𝆌', '𝆩'),
+ ('𝆮', '𝇪'),
+ ('𝋀', '𝋓'),
+ ('𝋠', '𝋳'),
+ ('𝌀', '𝍖'),
+ ('𝍠', '𝍸'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('𞱱', '𞲴'),
+ ('𞴁', '𞴽'),
+ ('🀀', '🀫'),
+ ('🀰', '🂓'),
+ ('🂠', '🂮'),
+ ('🂱', '🂿'),
+ ('🃁', '🃏'),
+ ('🃑', '🃵'),
+ ('🄀', '🆭'),
+ ('🇦', '🇿'),
+ ('🈁', '🈂'),
+ ('🈐', '🈻'),
+ ('🉀', '🉈'),
+ ('🉐', '🉑'),
+ ('🉠', '🉥'),
+ ('🌀', '🛗'),
+ ('🛜', '🛬'),
+ ('🛰', '🛼'),
+ ('🜀', '🝶'),
+ ('🝻', '🟙'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🠀', '🠋'),
+ ('🠐', '🡇'),
+ ('🡐', '🡙'),
+ ('🡠', '🢇'),
+ ('🢐', '🢭'),
+ ('🢰', '🢱'),
+ ('🤀', '🩓'),
+ ('🩠', '🩭'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+ ('🬀', '🮒'),
+ ('🮔', '🯊'),
+ ('🯰', '🯹'),
+ ('\u{e0001}', '\u{e0001}'),
+ ('\u{e0020}', '\u{e007f}'),
+];
+
+pub const COPTIC: &'static [(char, char)] =
+ &[('Ϣ', 'ϯ'), ('Ⲁ', 'ⳳ'), ('⳹', '⳿')];
+
+pub const CUNEIFORM: &'static [(char, char)] =
+ &[('𒀀', '𒎙'), ('𒐀', '𒑮'), ('𒑰', '𒑴'), ('𒒀', '𒕃')];
+
+pub const CYPRIOT: &'static [(char, char)] =
+ &[('𐠀', '𐠅'), ('𐠈', '𐠈'), ('𐠊', '𐠵'), ('𐠷', '𐠸'), ('𐠼', '𐠼'), ('𐠿', '𐠿')];
+
+pub const CYPRO_MINOAN: &'static [(char, char)] = &[('𒾐', '𒿲')];
+
+pub const CYRILLIC: &'static [(char, char)] = &[
+ ('Ѐ', '\u{484}'),
+ ('\u{487}', 'ԯ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᴫ', 'ᴫ'),
+ ('ᵸ', 'ᵸ'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('Ꙁ', '\u{a69f}'),
+ ('\u{fe2e}', '\u{fe2f}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+];
+
+pub const DESERET: &'static [(char, char)] = &[('𐐀', '𐑏')];
+
+pub const DEVANAGARI: &'static [(char, char)] = &[
+ ('\u{900}', 'ॐ'),
+ ('\u{955}', '\u{963}'),
+ ('०', 'ॿ'),
+ ('\u{a8e0}', '\u{a8ff}'),
+ ('𑬀', '𑬉'),
+];
+
+pub const DIVES_AKURU: &'static [(char, char)] = &[
+ ('𑤀', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '𑥆'),
+ ('𑥐', '𑥙'),
+];
+
+pub const DOGRA: &'static [(char, char)] = &[('𑠀', '𑠻')];
+
+pub const DUPLOYAN: &'static [(char, char)] =
+ &[('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'), ('𛲐', '𛲙'), ('𛲜', '𛲟')];
+
+pub const EGYPTIAN_HIEROGLYPHS: &'static [(char, char)] =
+ &[('𓀀', '\u{13455}')];
+
+pub const ELBASAN: &'static [(char, char)] = &[('𐔀', '𐔧')];
+
+pub const ELYMAIC: &'static [(char, char)] = &[('𐿠', '𐿶')];
+
+pub const ETHIOPIC: &'static [(char, char)] = &[
+ ('ሀ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('\u{135d}', '፼'),
+ ('ᎀ', '᎙'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+];
+
+pub const GEORGIAN: &'static [(char, char)] = &[
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ჿ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+];
+
+pub const GLAGOLITIC: &'static [(char, char)] = &[
+ ('Ⰰ', 'ⱟ'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+];
+
+pub const GOTHIC: &'static [(char, char)] = &[('𐌰', '𐍊')];
+
+pub const GRANTHA: &'static [(char, char)] = &[
+ ('\u{11300}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('\u{1133c}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍐', '𑍐'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+];
+
+pub const GREEK: &'static [(char, char)] = &[
+ ('Ͱ', 'ͳ'),
+ ('͵', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('΄', '΄'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϡ'),
+ ('ϰ', 'Ͽ'),
+ ('ᴦ', 'ᴪ'),
+ ('ᵝ', 'ᵡ'),
+ ('ᵦ', 'ᵪ'),
+ ('ᶿ', 'ᶿ'),
+ ('ἀ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ῄ'),
+ ('ῆ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('῝', '`'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', '῾'),
+ ('Ω', 'Ω'),
+ ('ꭥ', 'ꭥ'),
+ ('𐅀', '𐆎'),
+ ('𐆠', '𐆠'),
+ ('𝈀', '𝉅'),
+];
+
+pub const GUJARATI: &'static [(char, char)] = &[
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('\u{abc}', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', '\u{ae3}'),
+ ('૦', '૱'),
+ ('ૹ', '\u{aff}'),
+];
+
+pub const GUNJALA_GONDI: &'static [(char, char)] = &[
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶘'),
+ ('𑶠', '𑶩'),
+];
+
+pub const GURMUKHI: &'static [(char, char)] = &[
+ ('\u{a01}', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', '੶'),
+];
+
+pub const HAN: &'static [(char, char)] = &[
+ ('⺀', '⺙'),
+ ('⺛', '⻳'),
+ ('⼀', '⿕'),
+ ('々', '々'),
+ ('〇', '〇'),
+ ('〡', '〩'),
+ ('〸', '〻'),
+ ('㐀', '䶿'),
+ ('一', '鿿'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('𖿢', '𖿣'),
+ ('𖿰', '𖿱'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const HANGUL: &'static [(char, char)] = &[
+ ('ᄀ', 'ᇿ'),
+ ('\u{302e}', '\u{302f}'),
+ ('ㄱ', 'ㆎ'),
+ ('㈀', '㈞'),
+ ('㉠', '㉾'),
+ ('ꥠ', 'ꥼ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+];
+
+pub const HANIFI_ROHINGYA: &'static [(char, char)] =
+ &[('𐴀', '\u{10d27}'), ('𐴰', '𐴹')];
+
+pub const HANUNOO: &'static [(char, char)] = &[('ᜠ', '᜴')];
+
+pub const HATRAN: &'static [(char, char)] =
+ &[('𐣠', '𐣲'), ('𐣴', '𐣵'), ('𐣻', '𐣿')];
+
+pub const HEBREW: &'static [(char, char)] = &[
+ ('\u{591}', '\u{5c7}'),
+ ('א', 'ת'),
+ ('ׯ', '״'),
+ ('יִ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﭏ'),
+];
+
+pub const HIRAGANA: &'static [(char, char)] = &[
+ ('ぁ', 'ゖ'),
+ ('ゝ', 'ゟ'),
+ ('𛀁', '𛄟'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('🈀', '🈀'),
+];
+
+pub const IMPERIAL_ARAMAIC: &'static [(char, char)] =
+ &[('𐡀', '𐡕'), ('𐡗', '𐡟')];
+
+pub const INHERITED: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{485}', '\u{486}'),
+ ('\u{64b}', '\u{655}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{951}', '\u{954}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce0}'),
+ ('\u{1ce2}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{200c}', '\u{200d}'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('\u{302a}', '\u{302d}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2d}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{1133b}', '\u{1133b}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const INSCRIPTIONAL_PAHLAVI: &'static [(char, char)] =
+ &[('𐭠', '𐭲'), ('𐭸', '𐭿')];
+
+pub const INSCRIPTIONAL_PARTHIAN: &'static [(char, char)] =
+ &[('𐭀', '𐭕'), ('𐭘', '𐭟')];
+
+pub const JAVANESE: &'static [(char, char)] =
+ &[('\u{a980}', '꧍'), ('꧐', '꧙'), ('꧞', '꧟')];
+
+pub const KAITHI: &'static [(char, char)] =
+ &[('\u{11080}', '\u{110c2}'), ('\u{110cd}', '\u{110cd}')];
+
+pub const KANNADA: &'static [(char, char)] = &[
+ ('ಀ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('\u{cbc}', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', '\u{ce3}'),
+ ('೦', '೯'),
+ ('ೱ', 'ೳ'),
+];
+
+pub const KATAKANA: &'static [(char, char)] = &[
+ ('ァ', 'ヺ'),
+ ('ヽ', 'ヿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㋐', '㋾'),
+ ('㌀', '㍗'),
+ ('ヲ', 'ッ'),
+ ('ア', 'ン'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛀀'),
+ ('𛄠', '𛄢'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+];
+
+pub const KAWI: &'static [(char, char)] =
+ &[('\u{11f00}', '𑼐'), ('𑼒', '\u{11f3a}'), ('𑼾', '𑽙')];
+
+pub const KAYAH_LI: &'static [(char, char)] = &[('꤀', '\u{a92d}'), ('꤯', '꤯')];
+
+pub const KHAROSHTHI: &'static [(char, char)] = &[
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '𐩈'),
+ ('𐩐', '𐩘'),
+];
+
+pub const KHITAN_SMALL_SCRIPT: &'static [(char, char)] =
+ &[('\u{16fe4}', '\u{16fe4}'), ('𘬀', '𘳕')];
+
+pub const KHMER: &'static [(char, char)] =
+ &[('ក', '\u{17dd}'), ('០', '៩'), ('៰', '៹'), ('᧠', '᧿')];
+
+pub const KHOJKI: &'static [(char, char)] = &[('𑈀', '𑈑'), ('𑈓', '\u{11241}')];
+
+pub const KHUDAWADI: &'static [(char, char)] =
+ &[('𑊰', '\u{112ea}'), ('𑋰', '𑋹')];
+
+pub const LAO: &'static [(char, char)] = &[
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ece}'),
+ ('໐', '໙'),
+ ('ໜ', 'ໟ'),
+];
+
+pub const LATIN: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ʸ'),
+ ('ˠ', 'ˤ'),
+ ('ᴀ', 'ᴥ'),
+ ('ᴬ', 'ᵜ'),
+ ('ᵢ', 'ᵥ'),
+ ('ᵫ', 'ᵷ'),
+ ('ᵹ', 'ᶾ'),
+ ('Ḁ', 'ỿ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('K', 'Å'),
+ ('Ⅎ', 'Ⅎ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⱡ', 'Ɀ'),
+ ('Ꜣ', 'ꞇ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꟿ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭤ'),
+ ('ꭦ', 'ꭩ'),
+ ('ff', 'st'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+];
+
+pub const LEPCHA: &'static [(char, char)] =
+ &[('ᰀ', '\u{1c37}'), ('᰻', '᱉'), ('ᱍ', 'ᱏ')];
+
+pub const LIMBU: &'static [(char, char)] = &[
+ ('ᤀ', 'ᤞ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('᥀', '᥀'),
+ ('᥄', '᥏'),
+];
+
+pub const LINEAR_A: &'static [(char, char)] =
+ &[('𐘀', '𐜶'), ('𐝀', '𐝕'), ('𐝠', '𐝧')];
+
+pub const LINEAR_B: &'static [(char, char)] = &[
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+];
+
+pub const LISU: &'static [(char, char)] = &[('ꓐ', '꓿'), ('𑾰', '𑾰')];
+
+pub const LYCIAN: &'static [(char, char)] = &[('𐊀', '𐊜')];
+
+pub const LYDIAN: &'static [(char, char)] = &[('𐤠', '𐤹'), ('𐤿', '𐤿')];
+
+pub const MAHAJANI: &'static [(char, char)] = &[('𑅐', '𑅶')];
+
+pub const MAKASAR: &'static [(char, char)] = &[('𑻠', '𑻸')];
+
+pub const MALAYALAM: &'static [(char, char)] = &[
+ ('\u{d00}', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', '൏'),
+ ('ൔ', '\u{d63}'),
+ ('൦', 'ൿ'),
+];
+
+pub const MANDAIC: &'static [(char, char)] = &[('ࡀ', '\u{85b}'), ('࡞', '࡞')];
+
+pub const MANICHAEAN: &'static [(char, char)] =
+ &[('𐫀', '\u{10ae6}'), ('𐫫', '𐫶')];
+
+pub const MARCHEN: &'static [(char, char)] =
+ &[('𑱰', '𑲏'), ('\u{11c92}', '\u{11ca7}'), ('𑲩', '\u{11cb6}')];
+
+pub const MASARAM_GONDI: &'static [(char, char)] = &[
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d47}'),
+ ('𑵐', '𑵙'),
+];
+
+pub const MEDEFAIDRIN: &'static [(char, char)] = &[('𖹀', '𖺚')];
+
+pub const MEETEI_MAYEK: &'static [(char, char)] =
+ &[('ꫠ', '\u{aaf6}'), ('ꯀ', '\u{abed}'), ('꯰', '꯹')];
+
+pub const MENDE_KIKAKUI: &'static [(char, char)] =
+ &[('𞠀', '𞣄'), ('𞣇', '\u{1e8d6}')];
+
+pub const MEROITIC_CURSIVE: &'static [(char, char)] =
+ &[('𐦠', '𐦷'), ('𐦼', '𐧏'), ('𐧒', '𐧿')];
+
+pub const MEROITIC_HIEROGLYPHS: &'static [(char, char)] = &[('𐦀', '𐦟')];
+
+pub const MIAO: &'static [(char, char)] =
+ &[('𖼀', '𖽊'), ('\u{16f4f}', '𖾇'), ('\u{16f8f}', '𖾟')];
+
+pub const MODI: &'static [(char, char)] = &[('𑘀', '𑙄'), ('𑙐', '𑙙')];
+
+pub const MONGOLIAN: &'static [(char, char)] =
+ &[('᠀', '᠁'), ('᠄', '᠄'), ('᠆', '᠙'), ('ᠠ', 'ᡸ'), ('ᢀ', 'ᢪ'), ('𑙠', '𑙬')];
+
+pub const MRO: &'static [(char, char)] = &[('𖩀', '𖩞'), ('𖩠', '𖩩'), ('𖩮', '𖩯')];
+
+pub const MULTANI: &'static [(char, char)] =
+ &[('𑊀', '𑊆'), ('𑊈', '𑊈'), ('𑊊', '𑊍'), ('𑊏', '𑊝'), ('𑊟', '𑊩')];
+
+pub const MYANMAR: &'static [(char, char)] =
+ &[('က', '႟'), ('ꧠ', 'ꧾ'), ('ꩠ', 'ꩿ')];
+
+pub const NABATAEAN: &'static [(char, char)] = &[('𐢀', '𐢞'), ('𐢧', '𐢯')];
+
+pub const NAG_MUNDARI: &'static [(char, char)] = &[('𞓐', '𞓹')];
+
+pub const NANDINAGARI: &'static [(char, char)] =
+ &[('𑦠', '𑦧'), ('𑦪', '\u{119d7}'), ('\u{119da}', '𑧤')];
+
+pub const NEW_TAI_LUE: &'static [(char, char)] =
+ &[('ᦀ', 'ᦫ'), ('ᦰ', 'ᧉ'), ('᧐', '᧚'), ('᧞', '᧟')];
+
+pub const NEWA: &'static [(char, char)] = &[('𑐀', '𑑛'), ('𑑝', '𑑡')];
+
+pub const NKO: &'static [(char, char)] = &[('߀', 'ߺ'), ('\u{7fd}', '߿')];
+
+pub const NUSHU: &'static [(char, char)] = &[('𖿡', '𖿡'), ('𛅰', '𛋻')];
+
+pub const NYIAKENG_PUACHUE_HMONG: &'static [(char, char)] =
+ &[('𞄀', '𞄬'), ('\u{1e130}', '𞄽'), ('𞅀', '𞅉'), ('𞅎', '𞅏')];
+
+pub const OGHAM: &'static [(char, char)] = &[('\u{1680}', '᚜')];
+
+pub const OL_CHIKI: &'static [(char, char)] = &[('᱐', '᱿')];
+
+pub const OLD_HUNGARIAN: &'static [(char, char)] =
+ &[('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𐳺', '𐳿')];
+
+pub const OLD_ITALIC: &'static [(char, char)] = &[('𐌀', '𐌣'), ('𐌭', '𐌯')];
+
+pub const OLD_NORTH_ARABIAN: &'static [(char, char)] = &[('𐪀', '𐪟')];
+
+pub const OLD_PERMIC: &'static [(char, char)] = &[('𐍐', '\u{1037a}')];
+
+pub const OLD_PERSIAN: &'static [(char, char)] = &[('𐎠', '𐏃'), ('𐏈', '𐏕')];
+
+pub const OLD_SOGDIAN: &'static [(char, char)] = &[('𐼀', '𐼧')];
+
+pub const OLD_SOUTH_ARABIAN: &'static [(char, char)] = &[('𐩠', '𐩿')];
+
+pub const OLD_TURKIC: &'static [(char, char)] = &[('𐰀', '𐱈')];
+
+pub const OLD_UYGHUR: &'static [(char, char)] = &[('𐽰', '𐾉')];
+
+pub const ORIYA: &'static [(char, char)] = &[
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('\u{b3c}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', '\u{b63}'),
+ ('୦', '୷'),
+];
+
+pub const OSAGE: &'static [(char, char)] = &[('𐒰', '𐓓'), ('𐓘', '𐓻')];
+
+pub const OSMANYA: &'static [(char, char)] = &[('𐒀', '𐒝'), ('𐒠', '𐒩')];
+
+pub const PAHAWH_HMONG: &'static [(char, char)] =
+ &[('𖬀', '𖭅'), ('𖭐', '𖭙'), ('𖭛', '𖭡'), ('𖭣', '𖭷'), ('𖭽', '𖮏')];
+
+pub const PALMYRENE: &'static [(char, char)] = &[('𐡠', '𐡿')];
+
+pub const PAU_CIN_HAU: &'static [(char, char)] = &[('𑫀', '𑫸')];
+
+pub const PHAGS_PA: &'static [(char, char)] = &[('ꡀ', '꡷')];
+
+pub const PHOENICIAN: &'static [(char, char)] = &[('𐤀', '𐤛'), ('𐤟', '𐤟')];
+
+pub const PSALTER_PAHLAVI: &'static [(char, char)] =
+ &[('𐮀', '𐮑'), ('𐮙', '𐮜'), ('𐮩', '𐮯')];
+
+pub const REJANG: &'static [(char, char)] = &[('ꤰ', '꥓'), ('꥟', '꥟')];
+
+pub const RUNIC: &'static [(char, char)] = &[('ᚠ', 'ᛪ'), ('ᛮ', 'ᛸ')];
+
+pub const SAMARITAN: &'static [(char, char)] = &[('ࠀ', '\u{82d}'), ('࠰', '࠾')];
+
+pub const SAURASHTRA: &'static [(char, char)] =
+ &[('ꢀ', '\u{a8c5}'), ('꣎', '꣙')];
+
+pub const SHARADA: &'static [(char, char)] = &[('\u{11180}', '𑇟')];
+
+pub const SHAVIAN: &'static [(char, char)] = &[('𐑐', '𐑿')];
+
+pub const SIDDHAM: &'static [(char, char)] =
+ &[('𑖀', '\u{115b5}'), ('𑖸', '\u{115dd}')];
+
+pub const SIGNWRITING: &'static [(char, char)] =
+ &[('𝠀', '𝪋'), ('\u{1da9b}', '\u{1da9f}'), ('\u{1daa1}', '\u{1daaf}')];
+
+pub const SINHALA: &'static [(char, char)] = &[
+ ('\u{d81}', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('෦', '෯'),
+ ('ෲ', '෴'),
+ ('𑇡', '𑇴'),
+];
+
+pub const SOGDIAN: &'static [(char, char)] = &[('𐼰', '𐽙')];
+
+pub const SORA_SOMPENG: &'static [(char, char)] = &[('𑃐', '𑃨'), ('𑃰', '𑃹')];
+
+pub const SOYOMBO: &'static [(char, char)] = &[('𑩐', '𑪢')];
+
+pub const SUNDANESE: &'static [(char, char)] =
+ &[('\u{1b80}', 'ᮿ'), ('᳀', '᳇')];
+
+pub const SYLOTI_NAGRI: &'static [(char, char)] = &[('ꠀ', '\u{a82c}')];
+
+pub const SYRIAC: &'static [(char, char)] =
+ &[('܀', '܍'), ('\u{70f}', '\u{74a}'), ('ݍ', 'ݏ'), ('ࡠ', 'ࡪ')];
+
+pub const TAGALOG: &'static [(char, char)] = &[('ᜀ', '᜕'), ('ᜟ', 'ᜟ')];
+
+pub const TAGBANWA: &'static [(char, char)] =
+ &[('ᝠ', 'ᝬ'), ('ᝮ', 'ᝰ'), ('\u{1772}', '\u{1773}')];
+
+pub const TAI_LE: &'static [(char, char)] = &[('ᥐ', 'ᥭ'), ('ᥰ', 'ᥴ')];
+
+pub const TAI_THAM: &'static [(char, char)] = &[
+ ('ᨠ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '᪉'),
+ ('᪐', '᪙'),
+ ('᪠', '᪭'),
+];
+
+pub const TAI_VIET: &'static [(char, char)] = &[('ꪀ', 'ꫂ'), ('ꫛ', '꫟')];
+
+pub const TAKRI: &'static [(char, char)] = &[('𑚀', '𑚹'), ('𑛀', '𑛉')];
+
+pub const TAMIL: &'static [(char, char)] = &[
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('ௐ', 'ௐ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('௦', '௺'),
+ ('𑿀', '𑿱'),
+ ('𑿿', '𑿿'),
+];
+
+pub const TANGSA: &'static [(char, char)] = &[('𖩰', '𖪾'), ('𖫀', '𖫉')];
+
+pub const TANGUT: &'static [(char, char)] =
+ &[('𖿠', '𖿠'), ('𗀀', '𘟷'), ('𘠀', '𘫿'), ('𘴀', '𘴈')];
+
+pub const TELUGU: &'static [(char, char)] = &[
+ ('\u{c00}', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('\u{c3c}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', '\u{c63}'),
+ ('౦', '౯'),
+ ('౷', '౿'),
+];
+
+pub const THAANA: &'static [(char, char)] = &[('ހ', 'ޱ')];
+
+pub const THAI: &'static [(char, char)] = &[('ก', '\u{e3a}'), ('เ', '๛')];
+
+pub const TIBETAN: &'static [(char, char)] = &[
+ ('ༀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('\u{f71}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('྾', '࿌'),
+ ('࿎', '࿔'),
+ ('࿙', '࿚'),
+];
+
+pub const TIFINAGH: &'static [(char, char)] =
+ &[('ⴰ', 'ⵧ'), ('ⵯ', '⵰'), ('\u{2d7f}', '\u{2d7f}')];
+
+pub const TIRHUTA: &'static [(char, char)] = &[('𑒀', '𑓇'), ('𑓐', '𑓙')];
+
+pub const TOTO: &'static [(char, char)] = &[('𞊐', '\u{1e2ae}')];
+
+pub const UGARITIC: &'static [(char, char)] = &[('𐎀', '𐎝'), ('𐎟', '𐎟')];
+
+pub const VAI: &'static [(char, char)] = &[('ꔀ', 'ꘫ')];
+
+pub const VITHKUQI: &'static [(char, char)] = &[
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+];
+
+pub const WANCHO: &'static [(char, char)] = &[('𞋀', '𞋹'), ('𞋿', '𞋿')];
+
+pub const WARANG_CITI: &'static [(char, char)] = &[('𑢠', '𑣲'), ('𑣿', '𑣿')];
+
+pub const YEZIDI: &'static [(char, char)] =
+ &[('𐺀', '𐺩'), ('\u{10eab}', '𐺭'), ('𐺰', '𐺱')];
+
+pub const YI: &'static [(char, char)] = &[('ꀀ', 'ꒌ'), ('꒐', '꓆')];
+
+pub const ZANABAZAR_SQUARE: &'static [(char, char)] = &[('𑨀', '\u{11a47}')];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/script_extension.rs b/third_party/rust/regex-syntax/src/unicode_tables/script_extension.rs
new file mode 100644
index 0000000000..42625e21b9
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/script_extension.rs
@@ -0,0 +1,1457 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate script-extension ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("Adlam", ADLAM),
+ ("Ahom", AHOM),
+ ("Anatolian_Hieroglyphs", ANATOLIAN_HIEROGLYPHS),
+ ("Arabic", ARABIC),
+ ("Armenian", ARMENIAN),
+ ("Avestan", AVESTAN),
+ ("Balinese", BALINESE),
+ ("Bamum", BAMUM),
+ ("Bassa_Vah", BASSA_VAH),
+ ("Batak", BATAK),
+ ("Bengali", BENGALI),
+ ("Bhaiksuki", BHAIKSUKI),
+ ("Bopomofo", BOPOMOFO),
+ ("Brahmi", BRAHMI),
+ ("Braille", BRAILLE),
+ ("Buginese", BUGINESE),
+ ("Buhid", BUHID),
+ ("Canadian_Aboriginal", CANADIAN_ABORIGINAL),
+ ("Carian", CARIAN),
+ ("Caucasian_Albanian", CAUCASIAN_ALBANIAN),
+ ("Chakma", CHAKMA),
+ ("Cham", CHAM),
+ ("Cherokee", CHEROKEE),
+ ("Chorasmian", CHORASMIAN),
+ ("Common", COMMON),
+ ("Coptic", COPTIC),
+ ("Cuneiform", CUNEIFORM),
+ ("Cypriot", CYPRIOT),
+ ("Cypro_Minoan", CYPRO_MINOAN),
+ ("Cyrillic", CYRILLIC),
+ ("Deseret", DESERET),
+ ("Devanagari", DEVANAGARI),
+ ("Dives_Akuru", DIVES_AKURU),
+ ("Dogra", DOGRA),
+ ("Duployan", DUPLOYAN),
+ ("Egyptian_Hieroglyphs", EGYPTIAN_HIEROGLYPHS),
+ ("Elbasan", ELBASAN),
+ ("Elymaic", ELYMAIC),
+ ("Ethiopic", ETHIOPIC),
+ ("Georgian", GEORGIAN),
+ ("Glagolitic", GLAGOLITIC),
+ ("Gothic", GOTHIC),
+ ("Grantha", GRANTHA),
+ ("Greek", GREEK),
+ ("Gujarati", GUJARATI),
+ ("Gunjala_Gondi", GUNJALA_GONDI),
+ ("Gurmukhi", GURMUKHI),
+ ("Han", HAN),
+ ("Hangul", HANGUL),
+ ("Hanifi_Rohingya", HANIFI_ROHINGYA),
+ ("Hanunoo", HANUNOO),
+ ("Hatran", HATRAN),
+ ("Hebrew", HEBREW),
+ ("Hiragana", HIRAGANA),
+ ("Imperial_Aramaic", IMPERIAL_ARAMAIC),
+ ("Inherited", INHERITED),
+ ("Inscriptional_Pahlavi", INSCRIPTIONAL_PAHLAVI),
+ ("Inscriptional_Parthian", INSCRIPTIONAL_PARTHIAN),
+ ("Javanese", JAVANESE),
+ ("Kaithi", KAITHI),
+ ("Kannada", KANNADA),
+ ("Katakana", KATAKANA),
+ ("Kawi", KAWI),
+ ("Kayah_Li", KAYAH_LI),
+ ("Kharoshthi", KHAROSHTHI),
+ ("Khitan_Small_Script", KHITAN_SMALL_SCRIPT),
+ ("Khmer", KHMER),
+ ("Khojki", KHOJKI),
+ ("Khudawadi", KHUDAWADI),
+ ("Lao", LAO),
+ ("Latin", LATIN),
+ ("Lepcha", LEPCHA),
+ ("Limbu", LIMBU),
+ ("Linear_A", LINEAR_A),
+ ("Linear_B", LINEAR_B),
+ ("Lisu", LISU),
+ ("Lycian", LYCIAN),
+ ("Lydian", LYDIAN),
+ ("Mahajani", MAHAJANI),
+ ("Makasar", MAKASAR),
+ ("Malayalam", MALAYALAM),
+ ("Mandaic", MANDAIC),
+ ("Manichaean", MANICHAEAN),
+ ("Marchen", MARCHEN),
+ ("Masaram_Gondi", MASARAM_GONDI),
+ ("Medefaidrin", MEDEFAIDRIN),
+ ("Meetei_Mayek", MEETEI_MAYEK),
+ ("Mende_Kikakui", MENDE_KIKAKUI),
+ ("Meroitic_Cursive", MEROITIC_CURSIVE),
+ ("Meroitic_Hieroglyphs", MEROITIC_HIEROGLYPHS),
+ ("Miao", MIAO),
+ ("Modi", MODI),
+ ("Mongolian", MONGOLIAN),
+ ("Mro", MRO),
+ ("Multani", MULTANI),
+ ("Myanmar", MYANMAR),
+ ("Nabataean", NABATAEAN),
+ ("Nag_Mundari", NAG_MUNDARI),
+ ("Nandinagari", NANDINAGARI),
+ ("New_Tai_Lue", NEW_TAI_LUE),
+ ("Newa", NEWA),
+ ("Nko", NKO),
+ ("Nushu", NUSHU),
+ ("Nyiakeng_Puachue_Hmong", NYIAKENG_PUACHUE_HMONG),
+ ("Ogham", OGHAM),
+ ("Ol_Chiki", OL_CHIKI),
+ ("Old_Hungarian", OLD_HUNGARIAN),
+ ("Old_Italic", OLD_ITALIC),
+ ("Old_North_Arabian", OLD_NORTH_ARABIAN),
+ ("Old_Permic", OLD_PERMIC),
+ ("Old_Persian", OLD_PERSIAN),
+ ("Old_Sogdian", OLD_SOGDIAN),
+ ("Old_South_Arabian", OLD_SOUTH_ARABIAN),
+ ("Old_Turkic", OLD_TURKIC),
+ ("Old_Uyghur", OLD_UYGHUR),
+ ("Oriya", ORIYA),
+ ("Osage", OSAGE),
+ ("Osmanya", OSMANYA),
+ ("Pahawh_Hmong", PAHAWH_HMONG),
+ ("Palmyrene", PALMYRENE),
+ ("Pau_Cin_Hau", PAU_CIN_HAU),
+ ("Phags_Pa", PHAGS_PA),
+ ("Phoenician", PHOENICIAN),
+ ("Psalter_Pahlavi", PSALTER_PAHLAVI),
+ ("Rejang", REJANG),
+ ("Runic", RUNIC),
+ ("Samaritan", SAMARITAN),
+ ("Saurashtra", SAURASHTRA),
+ ("Sharada", SHARADA),
+ ("Shavian", SHAVIAN),
+ ("Siddham", SIDDHAM),
+ ("SignWriting", SIGNWRITING),
+ ("Sinhala", SINHALA),
+ ("Sogdian", SOGDIAN),
+ ("Sora_Sompeng", SORA_SOMPENG),
+ ("Soyombo", SOYOMBO),
+ ("Sundanese", SUNDANESE),
+ ("Syloti_Nagri", SYLOTI_NAGRI),
+ ("Syriac", SYRIAC),
+ ("Tagalog", TAGALOG),
+ ("Tagbanwa", TAGBANWA),
+ ("Tai_Le", TAI_LE),
+ ("Tai_Tham", TAI_THAM),
+ ("Tai_Viet", TAI_VIET),
+ ("Takri", TAKRI),
+ ("Tamil", TAMIL),
+ ("Tangsa", TANGSA),
+ ("Tangut", TANGUT),
+ ("Telugu", TELUGU),
+ ("Thaana", THAANA),
+ ("Thai", THAI),
+ ("Tibetan", TIBETAN),
+ ("Tifinagh", TIFINAGH),
+ ("Tirhuta", TIRHUTA),
+ ("Toto", TOTO),
+ ("Ugaritic", UGARITIC),
+ ("Vai", VAI),
+ ("Vithkuqi", VITHKUQI),
+ ("Wancho", WANCHO),
+ ("Warang_Citi", WARANG_CITI),
+ ("Yezidi", YEZIDI),
+ ("Yi", YI),
+ ("Zanabazar_Square", ZANABAZAR_SQUARE),
+];
+
+pub const ADLAM: &'static [(char, char)] =
+ &[('؟', '؟'), ('ـ', 'ـ'), ('𞤀', '𞥋'), ('𞥐', '𞥙'), ('𞥞', '𞥟')];
+
+pub const AHOM: &'static [(char, char)] =
+ &[('𑜀', '𑜚'), ('\u{1171d}', '\u{1172b}'), ('𑜰', '𑝆')];
+
+pub const ANATOLIAN_HIEROGLYPHS: &'static [(char, char)] = &[('𔐀', '𔙆')];
+
+pub const ARABIC: &'static [(char, char)] = &[
+ ('\u{600}', '\u{604}'),
+ ('؆', '\u{6dc}'),
+ ('۞', 'ۿ'),
+ ('ݐ', 'ݿ'),
+ ('ࡰ', 'ࢎ'),
+ ('\u{890}', '\u{891}'),
+ ('\u{898}', '\u{8e1}'),
+ ('\u{8e3}', '\u{8ff}'),
+ ('ﭐ', '﯂'),
+ ('ﯓ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('﷏', '﷏'),
+ ('ﷰ', '﷿'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('\u{102e0}', '𐋻'),
+ ('𐹠', '𐹾'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𞻰', '𞻱'),
+];
+
+pub const ARMENIAN: &'static [(char, char)] =
+ &[('Ա', 'Ֆ'), ('ՙ', '֊'), ('֍', '֏'), ('ﬓ', 'ﬗ')];
+
+pub const AVESTAN: &'static [(char, char)] = &[('𐬀', '𐬵'), ('𐬹', '𐬿')];
+
+pub const BALINESE: &'static [(char, char)] = &[('\u{1b00}', 'ᭌ'), ('᭐', '᭾')];
+
+pub const BAMUM: &'static [(char, char)] = &[('ꚠ', '꛷'), ('𖠀', '𖨸')];
+
+pub const BASSA_VAH: &'static [(char, char)] =
+ &[('𖫐', '𖫭'), ('\u{16af0}', '𖫵')];
+
+pub const BATAK: &'static [(char, char)] = &[('ᯀ', '᯳'), ('᯼', '᯿')];
+
+pub const BENGALI: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('ঀ', 'ঃ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('\u{9bc}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', 'ৎ'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('ড়', 'ঢ়'),
+ ('য়', '\u{9e3}'),
+ ('০', '\u{9fe}'),
+ ('\u{1cd0}', '\u{1cd0}'),
+ ('\u{1cd2}', '\u{1cd2}'),
+ ('\u{1cd5}', '\u{1cd6}'),
+ ('\u{1cd8}', '\u{1cd8}'),
+ ('᳡', '᳡'),
+ ('ᳪ', 'ᳪ'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('ᳲ', 'ᳲ'),
+ ('ᳵ', '᳷'),
+ ('\u{a8f1}', '\u{a8f1}'),
+];
+
+pub const BHAIKSUKI: &'static [(char, char)] =
+ &[('𑰀', '𑰈'), ('𑰊', '\u{11c36}'), ('\u{11c38}', '𑱅'), ('𑱐', '𑱬')];
+
+pub const BOPOMOFO: &'static [(char, char)] = &[
+ ('˪', '˫'),
+ ('、', '〃'),
+ ('〈', '】'),
+ ('〓', '〟'),
+ ('\u{302a}', '\u{302d}'),
+ ('〰', '〰'),
+ ('〷', '〷'),
+ ('・', '・'),
+ ('ㄅ', 'ㄯ'),
+ ('ㆠ', 'ㆿ'),
+ ('﹅', '﹆'),
+ ('。', '・'),
+];
+
+pub const BRAHMI: &'static [(char, char)] =
+ &[('𑀀', '𑁍'), ('𑁒', '𑁵'), ('\u{1107f}', '\u{1107f}')];
+
+pub const BRAILLE: &'static [(char, char)] = &[('⠀', '⣿')];
+
+pub const BUGINESE: &'static [(char, char)] =
+ &[('ᨀ', '\u{1a1b}'), ('᨞', '᨟'), ('ꧏ', 'ꧏ')];
+
+pub const BUHID: &'static [(char, char)] = &[('᜵', '᜶'), ('ᝀ', '\u{1753}')];
+
+pub const CANADIAN_ABORIGINAL: &'static [(char, char)] =
+ &[('᐀', 'ᙿ'), ('ᢰ', 'ᣵ'), ('𑪰', '𑪿')];
+
+pub const CARIAN: &'static [(char, char)] = &[('𐊠', '𐋐')];
+
+pub const CAUCASIAN_ALBANIAN: &'static [(char, char)] =
+ &[('𐔰', '𐕣'), ('𐕯', '𐕯')];
+
+pub const CHAKMA: &'static [(char, char)] =
+ &[('০', '৯'), ('၀', '၉'), ('\u{11100}', '\u{11134}'), ('𑄶', '𑅇')];
+
+pub const CHAM: &'static [(char, char)] =
+ &[('ꨀ', '\u{aa36}'), ('ꩀ', 'ꩍ'), ('꩐', '꩙'), ('꩜', '꩟')];
+
+pub const CHEROKEE: &'static [(char, char)] =
+ &[('Ꭰ', 'Ᏽ'), ('ᏸ', 'ᏽ'), ('ꭰ', 'ꮿ')];
+
+pub const CHORASMIAN: &'static [(char, char)] = &[('𐾰', '𐿋')];
+
+pub const COMMON: &'static [(char, char)] = &[
+ ('\0', '@'),
+ ('[', '`'),
+ ('{', '©'),
+ ('«', '¹'),
+ ('»', '¿'),
+ ('×', '×'),
+ ('÷', '÷'),
+ ('ʹ', '˟'),
+ ('˥', '˩'),
+ ('ˬ', '˿'),
+ ('ʹ', 'ʹ'),
+ (';', ';'),
+ ('΅', '΅'),
+ ('·', '·'),
+ ('\u{605}', '\u{605}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('฿', '฿'),
+ ('࿕', '࿘'),
+ ('᛫', '᛭'),
+ ('\u{2000}', '\u{200b}'),
+ ('\u{200e}', '\u{202e}'),
+ ('‰', '\u{2064}'),
+ ('\u{2066}', '⁰'),
+ ('⁴', '⁾'),
+ ('₀', '₎'),
+ ('₠', '⃀'),
+ ('℀', '℥'),
+ ('℧', '℩'),
+ ('ℬ', 'ℱ'),
+ ('ℳ', '⅍'),
+ ('⅏', '⅟'),
+ ('↉', '↋'),
+ ('←', '␦'),
+ ('⑀', '⑊'),
+ ('①', '⟿'),
+ ('⤀', '⭳'),
+ ('⭶', '⮕'),
+ ('⮗', '⯿'),
+ ('⸀', '⹂'),
+ ('⹄', '⹝'),
+ ('⿰', '⿻'),
+ ('\u{3000}', '\u{3000}'),
+ ('〄', '〄'),
+ ('〒', '〒'),
+ ('〠', '〠'),
+ ('〶', '〶'),
+ ('㉈', '㉟'),
+ ('㉿', '㉿'),
+ ('㊱', '㊿'),
+ ('㋌', '㋏'),
+ ('㍱', '㍺'),
+ ('㎀', '㏟'),
+ ('㏿', '㏿'),
+ ('䷀', '䷿'),
+ ('꜈', '꜡'),
+ ('ꞈ', '꞊'),
+ ('꭛', '꭛'),
+ ('꭪', '꭫'),
+ ('︐', '︙'),
+ ('︰', '﹄'),
+ ('﹇', '﹒'),
+ ('﹔', '﹦'),
+ ('﹨', '﹫'),
+ ('\u{feff}', '\u{feff}'),
+ ('!', '@'),
+ ('[', '`'),
+ ('{', '⦆'),
+ ('¢', '₩'),
+ ('│', '○'),
+ ('\u{fff9}', '�'),
+ ('𐆐', '𐆜'),
+ ('𐇐', '𐇼'),
+ ('𜽐', '𜿃'),
+ ('𝀀', '𝃵'),
+ ('𝄀', '𝄦'),
+ ('𝄩', '𝅦'),
+ ('𝅪', '\u{1d17a}'),
+ ('𝆃', '𝆄'),
+ ('𝆌', '𝆩'),
+ ('𝆮', '𝇪'),
+ ('𝋀', '𝋓'),
+ ('𝋠', '𝋳'),
+ ('𝌀', '𝍖'),
+ ('𝍲', '𝍸'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝟋'),
+ ('𝟎', '𝟿'),
+ ('𞱱', '𞲴'),
+ ('𞴁', '𞴽'),
+ ('🀀', '🀫'),
+ ('🀰', '🂓'),
+ ('🂠', '🂮'),
+ ('🂱', '🂿'),
+ ('🃁', '🃏'),
+ ('🃑', '🃵'),
+ ('🄀', '🆭'),
+ ('🇦', '🇿'),
+ ('🈁', '🈂'),
+ ('🈐', '🈻'),
+ ('🉀', '🉈'),
+ ('🉠', '🉥'),
+ ('🌀', '🛗'),
+ ('🛜', '🛬'),
+ ('🛰', '🛼'),
+ ('🜀', '🝶'),
+ ('🝻', '🟙'),
+ ('🟠', '🟫'),
+ ('🟰', '🟰'),
+ ('🠀', '🠋'),
+ ('🠐', '🡇'),
+ ('🡐', '🡙'),
+ ('🡠', '🢇'),
+ ('🢐', '🢭'),
+ ('🢰', '🢱'),
+ ('🤀', '🩓'),
+ ('🩠', '🩭'),
+ ('🩰', '🩼'),
+ ('🪀', '🪈'),
+ ('🪐', '🪽'),
+ ('🪿', '🫅'),
+ ('🫎', '🫛'),
+ ('🫠', '🫨'),
+ ('🫰', '🫸'),
+ ('🬀', '🮒'),
+ ('🮔', '🯊'),
+ ('🯰', '🯹'),
+ ('\u{e0001}', '\u{e0001}'),
+ ('\u{e0020}', '\u{e007f}'),
+];
+
+pub const COPTIC: &'static [(char, char)] =
+ &[('Ϣ', 'ϯ'), ('Ⲁ', 'ⳳ'), ('⳹', '⳿'), ('\u{102e0}', '𐋻')];
+
+pub const CUNEIFORM: &'static [(char, char)] =
+ &[('𒀀', '𒎙'), ('𒐀', '𒑮'), ('𒑰', '𒑴'), ('𒒀', '𒕃')];
+
+pub const CYPRIOT: &'static [(char, char)] = &[
+ ('𐄀', '𐄂'),
+ ('𐄇', '𐄳'),
+ ('𐄷', '𐄿'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐠿'),
+];
+
+pub const CYPRO_MINOAN: &'static [(char, char)] = &[('𐄀', '𐄁'), ('𒾐', '𒿲')];
+
+pub const CYRILLIC: &'static [(char, char)] = &[
+ ('Ѐ', 'ԯ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᴫ', 'ᴫ'),
+ ('ᵸ', 'ᵸ'),
+ ('\u{1df8}', '\u{1df8}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('⹃', '⹃'),
+ ('Ꙁ', '\u{a69f}'),
+ ('\u{fe2e}', '\u{fe2f}'),
+ ('𞀰', '𞁭'),
+ ('\u{1e08f}', '\u{1e08f}'),
+];
+
+pub const DESERET: &'static [(char, char)] = &[('𐐀', '𐑏')];
+
+pub const DEVANAGARI: &'static [(char, char)] = &[
+ ('\u{900}', '\u{952}'),
+ ('\u{955}', 'ॿ'),
+ ('\u{1cd0}', 'ᳶ'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{20f0}', '\u{20f0}'),
+ ('꠰', '꠹'),
+ ('\u{a8e0}', '\u{a8ff}'),
+ ('𑬀', '𑬉'),
+];
+
+pub const DIVES_AKURU: &'static [(char, char)] = &[
+ ('𑤀', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '𑥆'),
+ ('𑥐', '𑥙'),
+];
+
+pub const DOGRA: &'static [(char, char)] =
+ &[('।', '९'), ('꠰', '꠹'), ('𑠀', '𑠻')];
+
+pub const DUPLOYAN: &'static [(char, char)] =
+ &[('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'), ('𛲐', '𛲙'), ('𛲜', '\u{1bca3}')];
+
+pub const EGYPTIAN_HIEROGLYPHS: &'static [(char, char)] =
+ &[('𓀀', '\u{13455}')];
+
+pub const ELBASAN: &'static [(char, char)] = &[('𐔀', '𐔧')];
+
+pub const ELYMAIC: &'static [(char, char)] = &[('𐿠', '𐿶')];
+
+pub const ETHIOPIC: &'static [(char, char)] = &[
+ ('ሀ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('\u{135d}', '፼'),
+ ('ᎀ', '᎙'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+];
+
+pub const GEORGIAN: &'static [(char, char)] = &[
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჿ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+];
+
+pub const GLAGOLITIC: &'static [(char, char)] = &[
+ ('\u{484}', '\u{484}'),
+ ('\u{487}', '\u{487}'),
+ ('Ⰰ', 'ⱟ'),
+ ('⹃', '⹃'),
+ ('\u{a66f}', '\u{a66f}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+];
+
+pub const GOTHIC: &'static [(char, char)] = &[('𐌰', '𐍊')];
+
+pub const GRANTHA: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('௦', '௳'),
+ ('\u{1cd0}', '\u{1cd0}'),
+ ('\u{1cd2}', '᳓'),
+ ('ᳲ', '\u{1cf4}'),
+ ('\u{1cf8}', '\u{1cf9}'),
+ ('\u{20f0}', '\u{20f0}'),
+ ('\u{11300}', '𑌃'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('\u{1133b}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('𑍐', '𑍐'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍝', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑿐', '𑿑'),
+ ('𑿓', '𑿓'),
+];
+
+pub const GREEK: &'static [(char, char)] = &[
+ ('\u{342}', '\u{342}'),
+ ('\u{345}', '\u{345}'),
+ ('Ͱ', 'ͳ'),
+ ('͵', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('΄', '΄'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϡ'),
+ ('ϰ', 'Ͽ'),
+ ('ᴦ', 'ᴪ'),
+ ('ᵝ', 'ᵡ'),
+ ('ᵦ', 'ᵪ'),
+ ('ᶿ', '\u{1dc1}'),
+ ('ἀ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ῄ'),
+ ('ῆ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('῝', '`'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', '῾'),
+ ('Ω', 'Ω'),
+ ('ꭥ', 'ꭥ'),
+ ('𐅀', '𐆎'),
+ ('𐆠', '𐆠'),
+ ('𝈀', '𝉅'),
+];
+
+pub const GUJARATI: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('\u{a81}', 'ઃ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('\u{abc}', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', '\u{ae3}'),
+ ('૦', '૱'),
+ ('ૹ', '\u{aff}'),
+ ('꠰', '꠹'),
+];
+
+pub const GUNJALA_GONDI: &'static [(char, char)] = &[
+ ('।', '॥'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '𑶘'),
+ ('𑶠', '𑶩'),
+];
+
+pub const GURMUKHI: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('\u{a01}', 'ਃ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('੦', '੶'),
+ ('꠰', '꠹'),
+];
+
+pub const HAN: &'static [(char, char)] = &[
+ ('⺀', '⺙'),
+ ('⺛', '⻳'),
+ ('⼀', '⿕'),
+ ('、', '〃'),
+ ('々', '】'),
+ ('〓', '〟'),
+ ('〡', '\u{302d}'),
+ ('〰', '〰'),
+ ('〷', '〿'),
+ ('・', '・'),
+ ('㆐', '㆟'),
+ ('㇀', '㇣'),
+ ('㈠', '㉇'),
+ ('㊀', '㊰'),
+ ('㋀', '㋋'),
+ ('㋿', '㋿'),
+ ('㍘', '㍰'),
+ ('㍻', '㍿'),
+ ('㏠', '㏾'),
+ ('㐀', '䶿'),
+ ('一', '鿿'),
+ ('꜀', '꜇'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('﹅', '﹆'),
+ ('。', '・'),
+ ('𖿢', '𖿣'),
+ ('𖿰', '𖿱'),
+ ('𝍠', '𝍱'),
+ ('🉐', '🉑'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const HANGUL: &'static [(char, char)] = &[
+ ('ᄀ', 'ᇿ'),
+ ('、', '〃'),
+ ('〈', '】'),
+ ('〓', '〟'),
+ ('\u{302e}', '〰'),
+ ('〷', '〷'),
+ ('・', '・'),
+ ('ㄱ', 'ㆎ'),
+ ('㈀', '㈞'),
+ ('㉠', '㉾'),
+ ('ꥠ', 'ꥼ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('﹅', '﹆'),
+ ('。', '・'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+];
+
+pub const HANIFI_ROHINGYA: &'static [(char, char)] = &[
+ ('،', '،'),
+ ('؛', '؛'),
+ ('؟', '؟'),
+ ('ـ', 'ـ'),
+ ('۔', '۔'),
+ ('𐴀', '\u{10d27}'),
+ ('𐴰', '𐴹'),
+];
+
+pub const HANUNOO: &'static [(char, char)] = &[('ᜠ', '᜶')];
+
+pub const HATRAN: &'static [(char, char)] =
+ &[('𐣠', '𐣲'), ('𐣴', '𐣵'), ('𐣻', '𐣿')];
+
+pub const HEBREW: &'static [(char, char)] = &[
+ ('\u{591}', '\u{5c7}'),
+ ('א', 'ת'),
+ ('ׯ', '״'),
+ ('יִ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﭏ'),
+];
+
+pub const HIRAGANA: &'static [(char, char)] = &[
+ ('、', '〃'),
+ ('〈', '】'),
+ ('〓', '〟'),
+ ('〰', '〵'),
+ ('〷', '〷'),
+ ('〼', '〽'),
+ ('ぁ', 'ゖ'),
+ ('\u{3099}', '゠'),
+ ('・', 'ー'),
+ ('﹅', '﹆'),
+ ('。', '・'),
+ ('ー', 'ー'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('𛀁', '𛄟'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('🈀', '🈀'),
+];
+
+pub const IMPERIAL_ARAMAIC: &'static [(char, char)] =
+ &[('𐡀', '𐡕'), ('𐡗', '𐡟')];
+
+pub const INHERITED: &'static [(char, char)] = &[
+ ('\u{300}', '\u{341}'),
+ ('\u{343}', '\u{344}'),
+ ('\u{346}', '\u{362}'),
+ ('\u{953}', '\u{954}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1dc2}', '\u{1df7}'),
+ ('\u{1df9}', '\u{1df9}'),
+ ('\u{1dfb}', '\u{1dff}'),
+ ('\u{200c}', '\u{200d}'),
+ ('\u{20d0}', '\u{20ef}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2d}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d167}', '\u{1d169}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const INSCRIPTIONAL_PAHLAVI: &'static [(char, char)] =
+ &[('𐭠', '𐭲'), ('𐭸', '𐭿')];
+
+pub const INSCRIPTIONAL_PARTHIAN: &'static [(char, char)] =
+ &[('𐭀', '𐭕'), ('𐭘', '𐭟')];
+
+pub const JAVANESE: &'static [(char, char)] =
+ &[('\u{a980}', '꧍'), ('ꧏ', '꧙'), ('꧞', '꧟')];
+
+pub const KAITHI: &'static [(char, char)] = &[
+ ('०', '९'),
+ ('꠰', '꠹'),
+ ('\u{11080}', '\u{110c2}'),
+ ('\u{110cd}', '\u{110cd}'),
+];
+
+pub const KANNADA: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('ಀ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('\u{cbc}', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', '\u{ce3}'),
+ ('೦', '೯'),
+ ('ೱ', 'ೳ'),
+ ('\u{1cd0}', '\u{1cd0}'),
+ ('\u{1cd2}', '\u{1cd2}'),
+ ('\u{1cda}', '\u{1cda}'),
+ ('ᳲ', 'ᳲ'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('꠰', '꠵'),
+];
+
+pub const KATAKANA: &'static [(char, char)] = &[
+ ('、', '〃'),
+ ('〈', '】'),
+ ('〓', '〟'),
+ ('〰', '〵'),
+ ('〷', '〷'),
+ ('〼', '〽'),
+ ('\u{3099}', '゜'),
+ ('゠', 'ヿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㋐', '㋾'),
+ ('㌀', '㍗'),
+ ('﹅', '﹆'),
+ ('。', '\u{ff9f}'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛀀'),
+ ('𛄠', '𛄢'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+];
+
+pub const KAWI: &'static [(char, char)] =
+ &[('\u{11f00}', '𑼐'), ('𑼒', '\u{11f3a}'), ('𑼾', '𑽙')];
+
+pub const KAYAH_LI: &'static [(char, char)] = &[('꤀', '꤯')];
+
+pub const KHAROSHTHI: &'static [(char, char)] = &[
+ ('𐨀', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '𐩈'),
+ ('𐩐', '𐩘'),
+];
+
+pub const KHITAN_SMALL_SCRIPT: &'static [(char, char)] =
+ &[('\u{16fe4}', '\u{16fe4}'), ('𘬀', '𘳕')];
+
+pub const KHMER: &'static [(char, char)] =
+ &[('ក', '\u{17dd}'), ('០', '៩'), ('៰', '៹'), ('᧠', '᧿')];
+
+pub const KHOJKI: &'static [(char, char)] =
+ &[('૦', '૯'), ('꠰', '꠹'), ('𑈀', '𑈑'), ('𑈓', '\u{11241}')];
+
+pub const KHUDAWADI: &'static [(char, char)] =
+ &[('।', '॥'), ('꠰', '꠹'), ('𑊰', '\u{112ea}'), ('𑋰', '𑋹')];
+
+pub const LAO: &'static [(char, char)] = &[
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('\u{ec8}', '\u{ece}'),
+ ('໐', '໙'),
+ ('ໜ', 'ໟ'),
+];
+
+pub const LATIN: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', 'ʸ'),
+ ('ˠ', 'ˤ'),
+ ('\u{363}', '\u{36f}'),
+ ('\u{485}', '\u{486}'),
+ ('\u{951}', '\u{952}'),
+ ('჻', '჻'),
+ ('ᴀ', 'ᴥ'),
+ ('ᴬ', 'ᵜ'),
+ ('ᵢ', 'ᵥ'),
+ ('ᵫ', 'ᵷ'),
+ ('ᵹ', 'ᶾ'),
+ ('Ḁ', 'ỿ'),
+ ('\u{202f}', '\u{202f}'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('\u{20f0}', '\u{20f0}'),
+ ('K', 'Å'),
+ ('Ⅎ', 'Ⅎ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⱡ', 'Ɀ'),
+ ('꜀', '꜇'),
+ ('Ꜣ', 'ꞇ'),
+ ('Ꞌ', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꟿ'),
+ ('꤮', '꤮'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭤ'),
+ ('ꭦ', 'ꭩ'),
+ ('ff', 'st'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+];
+
+pub const LEPCHA: &'static [(char, char)] =
+ &[('ᰀ', '\u{1c37}'), ('᰻', '᱉'), ('ᱍ', 'ᱏ')];
+
+pub const LIMBU: &'static [(char, char)] = &[
+ ('॥', '॥'),
+ ('ᤀ', 'ᤞ'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('᥀', '᥀'),
+ ('᥄', '᥏'),
+];
+
+pub const LINEAR_A: &'static [(char, char)] =
+ &[('𐄇', '𐄳'), ('𐘀', '𐜶'), ('𐝀', '𐝕'), ('𐝠', '𐝧')];
+
+pub const LINEAR_B: &'static [(char, char)] = &[
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐄀', '𐄂'),
+ ('𐄇', '𐄳'),
+ ('𐄷', '𐄿'),
+];
+
+pub const LISU: &'static [(char, char)] = &[('ꓐ', '꓿'), ('𑾰', '𑾰')];
+
+pub const LYCIAN: &'static [(char, char)] = &[('𐊀', '𐊜')];
+
+pub const LYDIAN: &'static [(char, char)] = &[('𐤠', '𐤹'), ('𐤿', '𐤿')];
+
+pub const MAHAJANI: &'static [(char, char)] =
+ &[('।', '९'), ('꠰', '꠹'), ('𑅐', '𑅶')];
+
+pub const MAKASAR: &'static [(char, char)] = &[('𑻠', '𑻸')];
+
+pub const MALAYALAM: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('\u{d00}', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', '൏'),
+ ('ൔ', '\u{d63}'),
+ ('൦', 'ൿ'),
+ ('\u{1cda}', '\u{1cda}'),
+ ('꠰', '꠲'),
+];
+
+pub const MANDAIC: &'static [(char, char)] =
+ &[('ـ', 'ـ'), ('ࡀ', '\u{85b}'), ('࡞', '࡞')];
+
+pub const MANICHAEAN: &'static [(char, char)] =
+ &[('ـ', 'ـ'), ('𐫀', '\u{10ae6}'), ('𐫫', '𐫶')];
+
+pub const MARCHEN: &'static [(char, char)] =
+ &[('𑱰', '𑲏'), ('\u{11c92}', '\u{11ca7}'), ('𑲩', '\u{11cb6}')];
+
+pub const MASARAM_GONDI: &'static [(char, char)] = &[
+ ('।', '॥'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d47}'),
+ ('𑵐', '𑵙'),
+];
+
+pub const MEDEFAIDRIN: &'static [(char, char)] = &[('𖹀', '𖺚')];
+
+pub const MEETEI_MAYEK: &'static [(char, char)] =
+ &[('ꫠ', '\u{aaf6}'), ('ꯀ', '\u{abed}'), ('꯰', '꯹')];
+
+pub const MENDE_KIKAKUI: &'static [(char, char)] =
+ &[('𞠀', '𞣄'), ('𞣇', '\u{1e8d6}')];
+
+pub const MEROITIC_CURSIVE: &'static [(char, char)] =
+ &[('𐦠', '𐦷'), ('𐦼', '𐧏'), ('𐧒', '𐧿')];
+
+pub const MEROITIC_HIEROGLYPHS: &'static [(char, char)] = &[('𐦀', '𐦟')];
+
+pub const MIAO: &'static [(char, char)] =
+ &[('𖼀', '𖽊'), ('\u{16f4f}', '𖾇'), ('\u{16f8f}', '𖾟')];
+
+pub const MODI: &'static [(char, char)] =
+ &[('꠰', '꠹'), ('𑘀', '𑙄'), ('𑙐', '𑙙')];
+
+pub const MONGOLIAN: &'static [(char, char)] = &[
+ ('᠀', '᠙'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢪ'),
+ ('\u{202f}', '\u{202f}'),
+ ('𑙠', '𑙬'),
+];
+
+pub const MRO: &'static [(char, char)] = &[('𖩀', '𖩞'), ('𖩠', '𖩩'), ('𖩮', '𖩯')];
+
+pub const MULTANI: &'static [(char, char)] =
+ &[('੦', '੯'), ('𑊀', '𑊆'), ('𑊈', '𑊈'), ('𑊊', '𑊍'), ('𑊏', '𑊝'), ('𑊟', '𑊩')];
+
+pub const MYANMAR: &'static [(char, char)] =
+ &[('က', '႟'), ('꤮', '꤮'), ('ꧠ', 'ꧾ'), ('ꩠ', 'ꩿ')];
+
+pub const NABATAEAN: &'static [(char, char)] = &[('𐢀', '𐢞'), ('𐢧', '𐢯')];
+
+pub const NAG_MUNDARI: &'static [(char, char)] = &[('𞓐', '𞓹')];
+
+pub const NANDINAGARI: &'static [(char, char)] = &[
+ ('।', '॥'),
+ ('೦', '೯'),
+ ('ᳩ', 'ᳩ'),
+ ('ᳲ', 'ᳲ'),
+ ('ᳺ', 'ᳺ'),
+ ('꠰', '꠵'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '\u{119d7}'),
+ ('\u{119da}', '𑧤'),
+];
+
+pub const NEW_TAI_LUE: &'static [(char, char)] =
+ &[('ᦀ', 'ᦫ'), ('ᦰ', 'ᧉ'), ('᧐', '᧚'), ('᧞', '᧟')];
+
+pub const NEWA: &'static [(char, char)] = &[('𑐀', '𑑛'), ('𑑝', '𑑡')];
+
+pub const NKO: &'static [(char, char)] = &[
+ ('،', '،'),
+ ('؛', '؛'),
+ ('؟', '؟'),
+ ('߀', 'ߺ'),
+ ('\u{7fd}', '߿'),
+ ('﴾', '﴿'),
+];
+
+pub const NUSHU: &'static [(char, char)] = &[('𖿡', '𖿡'), ('𛅰', '𛋻')];
+
+pub const NYIAKENG_PUACHUE_HMONG: &'static [(char, char)] =
+ &[('𞄀', '𞄬'), ('\u{1e130}', '𞄽'), ('𞅀', '𞅉'), ('𞅎', '𞅏')];
+
+pub const OGHAM: &'static [(char, char)] = &[('\u{1680}', '᚜')];
+
+pub const OL_CHIKI: &'static [(char, char)] = &[('᱐', '᱿')];
+
+pub const OLD_HUNGARIAN: &'static [(char, char)] =
+ &[('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𐳺', '𐳿')];
+
+pub const OLD_ITALIC: &'static [(char, char)] = &[('𐌀', '𐌣'), ('𐌭', '𐌯')];
+
+pub const OLD_NORTH_ARABIAN: &'static [(char, char)] = &[('𐪀', '𐪟')];
+
+pub const OLD_PERMIC: &'static [(char, char)] =
+ &[('\u{483}', '\u{483}'), ('𐍐', '\u{1037a}')];
+
+pub const OLD_PERSIAN: &'static [(char, char)] = &[('𐎠', '𐏃'), ('𐏈', '𐏕')];
+
+pub const OLD_SOGDIAN: &'static [(char, char)] = &[('𐼀', '𐼧')];
+
+pub const OLD_SOUTH_ARABIAN: &'static [(char, char)] = &[('𐩠', '𐩿')];
+
+pub const OLD_TURKIC: &'static [(char, char)] = &[('𐰀', '𐱈')];
+
+pub const OLD_UYGHUR: &'static [(char, char)] =
+ &[('ـ', 'ـ'), ('𐫲', '𐫲'), ('𐽰', '𐾉')];
+
+pub const ORIYA: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('\u{b01}', 'ଃ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('\u{b3c}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', '\u{b63}'),
+ ('୦', '୷'),
+ ('\u{1cda}', '\u{1cda}'),
+ ('ᳲ', 'ᳲ'),
+];
+
+pub const OSAGE: &'static [(char, char)] = &[('𐒰', '𐓓'), ('𐓘', '𐓻')];
+
+pub const OSMANYA: &'static [(char, char)] = &[('𐒀', '𐒝'), ('𐒠', '𐒩')];
+
+pub const PAHAWH_HMONG: &'static [(char, char)] =
+ &[('𖬀', '𖭅'), ('𖭐', '𖭙'), ('𖭛', '𖭡'), ('𖭣', '𖭷'), ('𖭽', '𖮏')];
+
+pub const PALMYRENE: &'static [(char, char)] = &[('𐡠', '𐡿')];
+
+pub const PAU_CIN_HAU: &'static [(char, char)] = &[('𑫀', '𑫸')];
+
+pub const PHAGS_PA: &'static [(char, char)] =
+ &[('᠂', '᠃'), ('᠅', '᠅'), ('ꡀ', '꡷')];
+
+pub const PHOENICIAN: &'static [(char, char)] = &[('𐤀', '𐤛'), ('𐤟', '𐤟')];
+
+pub const PSALTER_PAHLAVI: &'static [(char, char)] =
+ &[('ـ', 'ـ'), ('𐮀', '𐮑'), ('𐮙', '𐮜'), ('𐮩', '𐮯')];
+
+pub const REJANG: &'static [(char, char)] = &[('ꤰ', '꥓'), ('꥟', '꥟')];
+
+pub const RUNIC: &'static [(char, char)] = &[('ᚠ', 'ᛪ'), ('ᛮ', 'ᛸ')];
+
+pub const SAMARITAN: &'static [(char, char)] = &[('ࠀ', '\u{82d}'), ('࠰', '࠾')];
+
+pub const SAURASHTRA: &'static [(char, char)] =
+ &[('ꢀ', '\u{a8c5}'), ('꣎', '꣙')];
+
+pub const SHARADA: &'static [(char, char)] = &[
+ ('\u{951}', '\u{951}'),
+ ('\u{1cd7}', '\u{1cd7}'),
+ ('\u{1cd9}', '\u{1cd9}'),
+ ('\u{1cdc}', '\u{1cdd}'),
+ ('\u{1ce0}', '\u{1ce0}'),
+ ('\u{11180}', '𑇟'),
+];
+
+pub const SHAVIAN: &'static [(char, char)] = &[('𐑐', '𐑿')];
+
+pub const SIDDHAM: &'static [(char, char)] =
+ &[('𑖀', '\u{115b5}'), ('𑖸', '\u{115dd}')];
+
+pub const SIGNWRITING: &'static [(char, char)] =
+ &[('𝠀', '𝪋'), ('\u{1da9b}', '\u{1da9f}'), ('\u{1daa1}', '\u{1daaf}')];
+
+pub const SINHALA: &'static [(char, char)] = &[
+ ('।', '॥'),
+ ('\u{d81}', 'ඃ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('෦', '෯'),
+ ('ෲ', '෴'),
+ ('𑇡', '𑇴'),
+];
+
+pub const SOGDIAN: &'static [(char, char)] = &[('ـ', 'ـ'), ('𐼰', '𐽙')];
+
+pub const SORA_SOMPENG: &'static [(char, char)] = &[('𑃐', '𑃨'), ('𑃰', '𑃹')];
+
+pub const SOYOMBO: &'static [(char, char)] = &[('𑩐', '𑪢')];
+
+pub const SUNDANESE: &'static [(char, char)] =
+ &[('\u{1b80}', 'ᮿ'), ('᳀', '᳇')];
+
+pub const SYLOTI_NAGRI: &'static [(char, char)] =
+ &[('।', '॥'), ('০', '৯'), ('ꠀ', '\u{a82c}')];
+
+pub const SYRIAC: &'static [(char, char)] = &[
+ ('،', '،'),
+ ('؛', '\u{61c}'),
+ ('؟', '؟'),
+ ('ـ', 'ـ'),
+ ('\u{64b}', '\u{655}'),
+ ('\u{670}', '\u{670}'),
+ ('܀', '܍'),
+ ('\u{70f}', '\u{74a}'),
+ ('ݍ', 'ݏ'),
+ ('ࡠ', 'ࡪ'),
+ ('\u{1df8}', '\u{1df8}'),
+ ('\u{1dfa}', '\u{1dfa}'),
+];
+
+pub const TAGALOG: &'static [(char, char)] =
+ &[('ᜀ', '᜕'), ('ᜟ', 'ᜟ'), ('᜵', '᜶')];
+
+pub const TAGBANWA: &'static [(char, char)] =
+ &[('᜵', '᜶'), ('ᝠ', 'ᝬ'), ('ᝮ', 'ᝰ'), ('\u{1772}', '\u{1773}')];
+
+pub const TAI_LE: &'static [(char, char)] =
+ &[('၀', '၉'), ('ᥐ', 'ᥭ'), ('ᥰ', 'ᥴ')];
+
+pub const TAI_THAM: &'static [(char, char)] = &[
+ ('ᨠ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '᪉'),
+ ('᪐', '᪙'),
+ ('᪠', '᪭'),
+];
+
+pub const TAI_VIET: &'static [(char, char)] = &[('ꪀ', 'ꫂ'), ('ꫛ', '꫟')];
+
+pub const TAKRI: &'static [(char, char)] =
+ &[('।', '॥'), ('꠰', '꠹'), ('𑚀', '𑚹'), ('𑛀', '𑛉')];
+
+pub const TAMIL: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('\u{b82}', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('ௐ', 'ௐ'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('௦', '௺'),
+ ('\u{1cda}', '\u{1cda}'),
+ ('ꣳ', 'ꣳ'),
+ ('\u{11301}', '\u{11301}'),
+ ('𑌃', '𑌃'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('𑿀', '𑿱'),
+ ('𑿿', '𑿿'),
+];
+
+pub const TANGSA: &'static [(char, char)] = &[('𖩰', '𖪾'), ('𖫀', '𖫉')];
+
+pub const TANGUT: &'static [(char, char)] =
+ &[('𖿠', '𖿠'), ('𗀀', '𘟷'), ('𘠀', '𘫿'), ('𘴀', '𘴈')];
+
+pub const TELUGU: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('\u{c00}', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('\u{c3c}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', '\u{c63}'),
+ ('౦', '౯'),
+ ('౷', '౿'),
+ ('\u{1cda}', '\u{1cda}'),
+ ('ᳲ', 'ᳲ'),
+];
+
+pub const THAANA: &'static [(char, char)] = &[
+ ('،', '،'),
+ ('؛', '\u{61c}'),
+ ('؟', '؟'),
+ ('٠', '٩'),
+ ('ހ', 'ޱ'),
+ ('ﷲ', 'ﷲ'),
+ ('﷽', '﷽'),
+];
+
+pub const THAI: &'static [(char, char)] = &[('ก', '\u{e3a}'), ('เ', '๛')];
+
+pub const TIBETAN: &'static [(char, char)] = &[
+ ('ༀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('\u{f71}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('྾', '࿌'),
+ ('࿎', '࿔'),
+ ('࿙', '࿚'),
+];
+
+pub const TIFINAGH: &'static [(char, char)] =
+ &[('ⴰ', 'ⵧ'), ('ⵯ', '⵰'), ('\u{2d7f}', '\u{2d7f}')];
+
+pub const TIRHUTA: &'static [(char, char)] = &[
+ ('\u{951}', '\u{952}'),
+ ('।', '॥'),
+ ('ᳲ', 'ᳲ'),
+ ('꠰', '꠹'),
+ ('𑒀', '𑓇'),
+ ('𑓐', '𑓙'),
+];
+
+pub const TOTO: &'static [(char, char)] = &[('𞊐', '\u{1e2ae}')];
+
+pub const UGARITIC: &'static [(char, char)] = &[('𐎀', '𐎝'), ('𐎟', '𐎟')];
+
+pub const VAI: &'static [(char, char)] = &[('ꔀ', 'ꘫ')];
+
+pub const VITHKUQI: &'static [(char, char)] = &[
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+];
+
+pub const WANCHO: &'static [(char, char)] = &[('𞋀', '𞋹'), ('𞋿', '𞋿')];
+
+pub const WARANG_CITI: &'static [(char, char)] = &[('𑢠', '𑣲'), ('𑣿', '𑣿')];
+
+pub const YEZIDI: &'static [(char, char)] = &[
+ ('،', '،'),
+ ('؛', '؛'),
+ ('؟', '؟'),
+ ('٠', '٩'),
+ ('𐺀', '𐺩'),
+ ('\u{10eab}', '𐺭'),
+ ('𐺰', '𐺱'),
+];
+
+pub const YI: &'static [(char, char)] = &[
+ ('、', '。'),
+ ('〈', '】'),
+ ('〔', '〛'),
+ ('・', '・'),
+ ('ꀀ', 'ꒌ'),
+ ('꒐', '꓆'),
+ ('。', '・'),
+];
+
+pub const ZANABAZAR_SQUARE: &'static [(char, char)] = &[('𑨀', '\u{11a47}')];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/sentence_break.rs b/third_party/rust/regex-syntax/src/unicode_tables/sentence_break.rs
new file mode 100644
index 0000000000..24348736f2
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/sentence_break.rs
@@ -0,0 +1,2477 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate sentence-break ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("ATerm", ATERM),
+ ("CR", CR),
+ ("Close", CLOSE),
+ ("Extend", EXTEND),
+ ("Format", FORMAT),
+ ("LF", LF),
+ ("Lower", LOWER),
+ ("Numeric", NUMERIC),
+ ("OLetter", OLETTER),
+ ("SContinue", SCONTINUE),
+ ("STerm", STERM),
+ ("Sep", SEP),
+ ("Sp", SP),
+ ("Upper", UPPER),
+];
+
+pub const ATERM: &'static [(char, char)] =
+ &[('.', '.'), ('․', '․'), ('﹒', '﹒'), ('.', '.')];
+
+pub const CR: &'static [(char, char)] = &[('\r', '\r')];
+
+pub const CLOSE: &'static [(char, char)] = &[
+ ('"', '"'),
+ ('\'', ')'),
+ ('[', '['),
+ (']', ']'),
+ ('{', '{'),
+ ('}', '}'),
+ ('«', '«'),
+ ('»', '»'),
+ ('༺', '༽'),
+ ('᚛', '᚜'),
+ ('‘', '‟'),
+ ('‹', '›'),
+ ('⁅', '⁆'),
+ ('⁽', '⁾'),
+ ('₍', '₎'),
+ ('⌈', '⌋'),
+ ('〈', '〉'),
+ ('❛', '❠'),
+ ('❨', '❵'),
+ ('⟅', '⟆'),
+ ('⟦', '⟯'),
+ ('⦃', '⦘'),
+ ('⧘', '⧛'),
+ ('⧼', '⧽'),
+ ('⸀', '⸍'),
+ ('⸜', '⸝'),
+ ('⸠', '⸩'),
+ ('⹂', '⹂'),
+ ('⹕', '⹜'),
+ ('〈', '】'),
+ ('〔', '〛'),
+ ('〝', '〟'),
+ ('﴾', '﴿'),
+ ('︗', '︘'),
+ ('︵', '﹄'),
+ ('﹇', '﹈'),
+ ('﹙', '﹞'),
+ ('(', ')'),
+ ('[', '['),
+ (']', ']'),
+ ('{', '{'),
+ ('}', '}'),
+ ('⦅', '⦆'),
+ ('「', '」'),
+ ('🙶', '🙸'),
+];
+
+pub const EXTEND: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{483}', '\u{489}'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6df}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', '\u{7f3}'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{819}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('\u{898}', '\u{89f}'),
+ ('\u{8ca}', '\u{8e1}'),
+ ('\u{8e3}', 'ः'),
+ ('\u{93a}', '\u{93c}'),
+ ('ा', 'ॏ'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', 'ঃ'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9be}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', '\u{9cd}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', 'ਃ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('\u{abc}', '\u{abc}'),
+ ('ા', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', 'ଃ'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3e}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', 'ಃ'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('ಾ', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('ೳ', 'ೳ'),
+ ('\u{d00}', 'ഃ'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d3e}', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', '\u{d4d}'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', 'ඃ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', 'ෳ'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e47}', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', '༿'),
+ ('\u{f71}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('ါ', '\u{103e}'),
+ ('ၖ', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('ၢ', 'ၤ'),
+ ('ၧ', 'ၭ'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{108d}'),
+ ('ႏ', 'ႏ'),
+ ('ႚ', '\u{109d}'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '᜕'),
+ ('\u{1732}', '᜴'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('\u{1a17}', '\u{1a1b}'),
+ ('ᩕ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', 'ᬄ'),
+ ('\u{1b34}', '᭄'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', 'ᮂ'),
+ ('ᮡ', '\u{1bad}'),
+ ('\u{1be6}', '᯳'),
+ ('ᰤ', '\u{1c37}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('᳷', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{200c}', '\u{200d}'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{302a}', '\u{302f}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{a66f}', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('ꠣ', 'ꠧ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꢀ', 'ꢁ'),
+ ('ꢴ', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '꥓'),
+ ('\u{a980}', 'ꦃ'),
+ ('\u{a9b3}', '꧀'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', 'ꩍ'),
+ ('ꩻ', 'ꩽ'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('ꫫ', 'ꫯ'),
+ ('ꫵ', '\u{aaf6}'),
+ ('ꯣ', 'ꯪ'),
+ ('꯬', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('𑀀', '𑀂'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '𑂂'),
+ ('𑂰', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{11134}'),
+ ('𑅅', '𑅆'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '𑆂'),
+ ('𑆳', '𑇀'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇎', '\u{111cf}'),
+ ('𑈬', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112ea}'),
+ ('\u{11300}', '𑌃'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{1133e}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍢', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑐵', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b0}', '\u{114c3}'),
+ ('\u{115af}', '\u{115b5}'),
+ ('𑖸', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('𑘰', '\u{11640}'),
+ ('\u{116ab}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑠬', '\u{1183a}'),
+ ('\u{11930}', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{1193e}'),
+ ('𑥀', '𑥀'),
+ ('𑥂', '\u{11943}'),
+ ('𑧑', '\u{119d7}'),
+ ('\u{119da}', '\u{119e0}'),
+ ('𑧤', '𑧤'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '𑨹'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a99}'),
+ ('𑰯', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('𑶊', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '\u{11d97}'),
+ ('\u{11ef3}', '𑻶'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('𑼃', '𑼃'),
+ ('𑼴', '\u{11f3a}'),
+ ('𑼾', '\u{11f42}'),
+ ('\u{13440}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('𖽑', '𖾇'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e4ec}', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e94a}'),
+ ('\u{e0020}', '\u{e007f}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const FORMAT: &'static [(char, char)] = &[
+ ('\u{ad}', '\u{ad}'),
+ ('\u{600}', '\u{605}'),
+ ('\u{61c}', '\u{61c}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{70f}', '\u{70f}'),
+ ('\u{890}', '\u{891}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('\u{180e}', '\u{180e}'),
+ ('\u{200b}', '\u{200b}'),
+ ('\u{200e}', '\u{200f}'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2060}', '\u{2064}'),
+ ('\u{2066}', '\u{206f}'),
+ ('\u{feff}', '\u{feff}'),
+ ('\u{fff9}', '\u{fffb}'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110cd}', '\u{110cd}'),
+ ('\u{13430}', '\u{1343f}'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('\u{1d173}', '\u{1d17a}'),
+ ('\u{e0001}', '\u{e0001}'),
+];
+
+pub const LF: &'static [(char, char)] = &[('\n', '\n')];
+
+pub const LOWER: &'static [(char, char)] = &[
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('ß', 'ö'),
+ ('ø', 'ÿ'),
+ ('ā', 'ā'),
+ ('ă', 'ă'),
+ ('ą', 'ą'),
+ ('ć', 'ć'),
+ ('ĉ', 'ĉ'),
+ ('ċ', 'ċ'),
+ ('č', 'č'),
+ ('ď', 'ď'),
+ ('đ', 'đ'),
+ ('ē', 'ē'),
+ ('ĕ', 'ĕ'),
+ ('ė', 'ė'),
+ ('ę', 'ę'),
+ ('ě', 'ě'),
+ ('ĝ', 'ĝ'),
+ ('ğ', 'ğ'),
+ ('ġ', 'ġ'),
+ ('ģ', 'ģ'),
+ ('ĥ', 'ĥ'),
+ ('ħ', 'ħ'),
+ ('ĩ', 'ĩ'),
+ ('ī', 'ī'),
+ ('ĭ', 'ĭ'),
+ ('į', 'į'),
+ ('ı', 'ı'),
+ ('ij', 'ij'),
+ ('ĵ', 'ĵ'),
+ ('ķ', 'ĸ'),
+ ('ĺ', 'ĺ'),
+ ('ļ', 'ļ'),
+ ('ľ', 'ľ'),
+ ('ŀ', 'ŀ'),
+ ('ł', 'ł'),
+ ('ń', 'ń'),
+ ('ņ', 'ņ'),
+ ('ň', 'ʼn'),
+ ('ŋ', 'ŋ'),
+ ('ō', 'ō'),
+ ('ŏ', 'ŏ'),
+ ('ő', 'ő'),
+ ('œ', 'œ'),
+ ('ŕ', 'ŕ'),
+ ('ŗ', 'ŗ'),
+ ('ř', 'ř'),
+ ('ś', 'ś'),
+ ('ŝ', 'ŝ'),
+ ('ş', 'ş'),
+ ('š', 'š'),
+ ('ţ', 'ţ'),
+ ('ť', 'ť'),
+ ('ŧ', 'ŧ'),
+ ('ũ', 'ũ'),
+ ('ū', 'ū'),
+ ('ŭ', 'ŭ'),
+ ('ů', 'ů'),
+ ('ű', 'ű'),
+ ('ų', 'ų'),
+ ('ŵ', 'ŵ'),
+ ('ŷ', 'ŷ'),
+ ('ź', 'ź'),
+ ('ż', 'ż'),
+ ('ž', 'ƀ'),
+ ('ƃ', 'ƃ'),
+ ('ƅ', 'ƅ'),
+ ('ƈ', 'ƈ'),
+ ('ƌ', 'ƍ'),
+ ('ƒ', 'ƒ'),
+ ('ƕ', 'ƕ'),
+ ('ƙ', 'ƛ'),
+ ('ƞ', 'ƞ'),
+ ('ơ', 'ơ'),
+ ('ƣ', 'ƣ'),
+ ('ƥ', 'ƥ'),
+ ('ƨ', 'ƨ'),
+ ('ƪ', 'ƫ'),
+ ('ƭ', 'ƭ'),
+ ('ư', 'ư'),
+ ('ƴ', 'ƴ'),
+ ('ƶ', 'ƶ'),
+ ('ƹ', 'ƺ'),
+ ('ƽ', 'ƿ'),
+ ('dž', 'dž'),
+ ('lj', 'lj'),
+ ('nj', 'nj'),
+ ('ǎ', 'ǎ'),
+ ('ǐ', 'ǐ'),
+ ('ǒ', 'ǒ'),
+ ('ǔ', 'ǔ'),
+ ('ǖ', 'ǖ'),
+ ('ǘ', 'ǘ'),
+ ('ǚ', 'ǚ'),
+ ('ǜ', 'ǝ'),
+ ('ǟ', 'ǟ'),
+ ('ǡ', 'ǡ'),
+ ('ǣ', 'ǣ'),
+ ('ǥ', 'ǥ'),
+ ('ǧ', 'ǧ'),
+ ('ǩ', 'ǩ'),
+ ('ǫ', 'ǫ'),
+ ('ǭ', 'ǭ'),
+ ('ǯ', 'ǰ'),
+ ('dz', 'dz'),
+ ('ǵ', 'ǵ'),
+ ('ǹ', 'ǹ'),
+ ('ǻ', 'ǻ'),
+ ('ǽ', 'ǽ'),
+ ('ǿ', 'ǿ'),
+ ('ȁ', 'ȁ'),
+ ('ȃ', 'ȃ'),
+ ('ȅ', 'ȅ'),
+ ('ȇ', 'ȇ'),
+ ('ȉ', 'ȉ'),
+ ('ȋ', 'ȋ'),
+ ('ȍ', 'ȍ'),
+ ('ȏ', 'ȏ'),
+ ('ȑ', 'ȑ'),
+ ('ȓ', 'ȓ'),
+ ('ȕ', 'ȕ'),
+ ('ȗ', 'ȗ'),
+ ('ș', 'ș'),
+ ('ț', 'ț'),
+ ('ȝ', 'ȝ'),
+ ('ȟ', 'ȟ'),
+ ('ȡ', 'ȡ'),
+ ('ȣ', 'ȣ'),
+ ('ȥ', 'ȥ'),
+ ('ȧ', 'ȧ'),
+ ('ȩ', 'ȩ'),
+ ('ȫ', 'ȫ'),
+ ('ȭ', 'ȭ'),
+ ('ȯ', 'ȯ'),
+ ('ȱ', 'ȱ'),
+ ('ȳ', 'ȹ'),
+ ('ȼ', 'ȼ'),
+ ('ȿ', 'ɀ'),
+ ('ɂ', 'ɂ'),
+ ('ɇ', 'ɇ'),
+ ('ɉ', 'ɉ'),
+ ('ɋ', 'ɋ'),
+ ('ɍ', 'ɍ'),
+ ('ɏ', 'ʓ'),
+ ('ʕ', 'ʸ'),
+ ('ˀ', 'ˁ'),
+ ('ˠ', 'ˤ'),
+ ('ͱ', 'ͱ'),
+ ('ͳ', 'ͳ'),
+ ('ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('ΐ', 'ΐ'),
+ ('ά', 'ώ'),
+ ('ϐ', 'ϑ'),
+ ('ϕ', 'ϗ'),
+ ('ϙ', 'ϙ'),
+ ('ϛ', 'ϛ'),
+ ('ϝ', 'ϝ'),
+ ('ϟ', 'ϟ'),
+ ('ϡ', 'ϡ'),
+ ('ϣ', 'ϣ'),
+ ('ϥ', 'ϥ'),
+ ('ϧ', 'ϧ'),
+ ('ϩ', 'ϩ'),
+ ('ϫ', 'ϫ'),
+ ('ϭ', 'ϭ'),
+ ('ϯ', 'ϳ'),
+ ('ϵ', 'ϵ'),
+ ('ϸ', 'ϸ'),
+ ('ϻ', 'ϼ'),
+ ('а', 'џ'),
+ ('ѡ', 'ѡ'),
+ ('ѣ', 'ѣ'),
+ ('ѥ', 'ѥ'),
+ ('ѧ', 'ѧ'),
+ ('ѩ', 'ѩ'),
+ ('ѫ', 'ѫ'),
+ ('ѭ', 'ѭ'),
+ ('ѯ', 'ѯ'),
+ ('ѱ', 'ѱ'),
+ ('ѳ', 'ѳ'),
+ ('ѵ', 'ѵ'),
+ ('ѷ', 'ѷ'),
+ ('ѹ', 'ѹ'),
+ ('ѻ', 'ѻ'),
+ ('ѽ', 'ѽ'),
+ ('ѿ', 'ѿ'),
+ ('ҁ', 'ҁ'),
+ ('ҋ', 'ҋ'),
+ ('ҍ', 'ҍ'),
+ ('ҏ', 'ҏ'),
+ ('ґ', 'ґ'),
+ ('ғ', 'ғ'),
+ ('ҕ', 'ҕ'),
+ ('җ', 'җ'),
+ ('ҙ', 'ҙ'),
+ ('қ', 'қ'),
+ ('ҝ', 'ҝ'),
+ ('ҟ', 'ҟ'),
+ ('ҡ', 'ҡ'),
+ ('ң', 'ң'),
+ ('ҥ', 'ҥ'),
+ ('ҧ', 'ҧ'),
+ ('ҩ', 'ҩ'),
+ ('ҫ', 'ҫ'),
+ ('ҭ', 'ҭ'),
+ ('ү', 'ү'),
+ ('ұ', 'ұ'),
+ ('ҳ', 'ҳ'),
+ ('ҵ', 'ҵ'),
+ ('ҷ', 'ҷ'),
+ ('ҹ', 'ҹ'),
+ ('һ', 'һ'),
+ ('ҽ', 'ҽ'),
+ ('ҿ', 'ҿ'),
+ ('ӂ', 'ӂ'),
+ ('ӄ', 'ӄ'),
+ ('ӆ', 'ӆ'),
+ ('ӈ', 'ӈ'),
+ ('ӊ', 'ӊ'),
+ ('ӌ', 'ӌ'),
+ ('ӎ', 'ӏ'),
+ ('ӑ', 'ӑ'),
+ ('ӓ', 'ӓ'),
+ ('ӕ', 'ӕ'),
+ ('ӗ', 'ӗ'),
+ ('ә', 'ә'),
+ ('ӛ', 'ӛ'),
+ ('ӝ', 'ӝ'),
+ ('ӟ', 'ӟ'),
+ ('ӡ', 'ӡ'),
+ ('ӣ', 'ӣ'),
+ ('ӥ', 'ӥ'),
+ ('ӧ', 'ӧ'),
+ ('ө', 'ө'),
+ ('ӫ', 'ӫ'),
+ ('ӭ', 'ӭ'),
+ ('ӯ', 'ӯ'),
+ ('ӱ', 'ӱ'),
+ ('ӳ', 'ӳ'),
+ ('ӵ', 'ӵ'),
+ ('ӷ', 'ӷ'),
+ ('ӹ', 'ӹ'),
+ ('ӻ', 'ӻ'),
+ ('ӽ', 'ӽ'),
+ ('ӿ', 'ӿ'),
+ ('ԁ', 'ԁ'),
+ ('ԃ', 'ԃ'),
+ ('ԅ', 'ԅ'),
+ ('ԇ', 'ԇ'),
+ ('ԉ', 'ԉ'),
+ ('ԋ', 'ԋ'),
+ ('ԍ', 'ԍ'),
+ ('ԏ', 'ԏ'),
+ ('ԑ', 'ԑ'),
+ ('ԓ', 'ԓ'),
+ ('ԕ', 'ԕ'),
+ ('ԗ', 'ԗ'),
+ ('ԙ', 'ԙ'),
+ ('ԛ', 'ԛ'),
+ ('ԝ', 'ԝ'),
+ ('ԟ', 'ԟ'),
+ ('ԡ', 'ԡ'),
+ ('ԣ', 'ԣ'),
+ ('ԥ', 'ԥ'),
+ ('ԧ', 'ԧ'),
+ ('ԩ', 'ԩ'),
+ ('ԫ', 'ԫ'),
+ ('ԭ', 'ԭ'),
+ ('ԯ', 'ԯ'),
+ ('ՠ', 'ֈ'),
+ ('ჼ', 'ჼ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᲀ', 'ᲈ'),
+ ('ᴀ', 'ᶿ'),
+ ('ḁ', 'ḁ'),
+ ('ḃ', 'ḃ'),
+ ('ḅ', 'ḅ'),
+ ('ḇ', 'ḇ'),
+ ('ḉ', 'ḉ'),
+ ('ḋ', 'ḋ'),
+ ('ḍ', 'ḍ'),
+ ('ḏ', 'ḏ'),
+ ('ḑ', 'ḑ'),
+ ('ḓ', 'ḓ'),
+ ('ḕ', 'ḕ'),
+ ('ḗ', 'ḗ'),
+ ('ḙ', 'ḙ'),
+ ('ḛ', 'ḛ'),
+ ('ḝ', 'ḝ'),
+ ('ḟ', 'ḟ'),
+ ('ḡ', 'ḡ'),
+ ('ḣ', 'ḣ'),
+ ('ḥ', 'ḥ'),
+ ('ḧ', 'ḧ'),
+ ('ḩ', 'ḩ'),
+ ('ḫ', 'ḫ'),
+ ('ḭ', 'ḭ'),
+ ('ḯ', 'ḯ'),
+ ('ḱ', 'ḱ'),
+ ('ḳ', 'ḳ'),
+ ('ḵ', 'ḵ'),
+ ('ḷ', 'ḷ'),
+ ('ḹ', 'ḹ'),
+ ('ḻ', 'ḻ'),
+ ('ḽ', 'ḽ'),
+ ('ḿ', 'ḿ'),
+ ('ṁ', 'ṁ'),
+ ('ṃ', 'ṃ'),
+ ('ṅ', 'ṅ'),
+ ('ṇ', 'ṇ'),
+ ('ṉ', 'ṉ'),
+ ('ṋ', 'ṋ'),
+ ('ṍ', 'ṍ'),
+ ('ṏ', 'ṏ'),
+ ('ṑ', 'ṑ'),
+ ('ṓ', 'ṓ'),
+ ('ṕ', 'ṕ'),
+ ('ṗ', 'ṗ'),
+ ('ṙ', 'ṙ'),
+ ('ṛ', 'ṛ'),
+ ('ṝ', 'ṝ'),
+ ('ṟ', 'ṟ'),
+ ('ṡ', 'ṡ'),
+ ('ṣ', 'ṣ'),
+ ('ṥ', 'ṥ'),
+ ('ṧ', 'ṧ'),
+ ('ṩ', 'ṩ'),
+ ('ṫ', 'ṫ'),
+ ('ṭ', 'ṭ'),
+ ('ṯ', 'ṯ'),
+ ('ṱ', 'ṱ'),
+ ('ṳ', 'ṳ'),
+ ('ṵ', 'ṵ'),
+ ('ṷ', 'ṷ'),
+ ('ṹ', 'ṹ'),
+ ('ṻ', 'ṻ'),
+ ('ṽ', 'ṽ'),
+ ('ṿ', 'ṿ'),
+ ('ẁ', 'ẁ'),
+ ('ẃ', 'ẃ'),
+ ('ẅ', 'ẅ'),
+ ('ẇ', 'ẇ'),
+ ('ẉ', 'ẉ'),
+ ('ẋ', 'ẋ'),
+ ('ẍ', 'ẍ'),
+ ('ẏ', 'ẏ'),
+ ('ẑ', 'ẑ'),
+ ('ẓ', 'ẓ'),
+ ('ẕ', 'ẝ'),
+ ('ẟ', 'ẟ'),
+ ('ạ', 'ạ'),
+ ('ả', 'ả'),
+ ('ấ', 'ấ'),
+ ('ầ', 'ầ'),
+ ('ẩ', 'ẩ'),
+ ('ẫ', 'ẫ'),
+ ('ậ', 'ậ'),
+ ('ắ', 'ắ'),
+ ('ằ', 'ằ'),
+ ('ẳ', 'ẳ'),
+ ('ẵ', 'ẵ'),
+ ('ặ', 'ặ'),
+ ('ẹ', 'ẹ'),
+ ('ẻ', 'ẻ'),
+ ('ẽ', 'ẽ'),
+ ('ế', 'ế'),
+ ('ề', 'ề'),
+ ('ể', 'ể'),
+ ('ễ', 'ễ'),
+ ('ệ', 'ệ'),
+ ('ỉ', 'ỉ'),
+ ('ị', 'ị'),
+ ('ọ', 'ọ'),
+ ('ỏ', 'ỏ'),
+ ('ố', 'ố'),
+ ('ồ', 'ồ'),
+ ('ổ', 'ổ'),
+ ('ỗ', 'ỗ'),
+ ('ộ', 'ộ'),
+ ('ớ', 'ớ'),
+ ('ờ', 'ờ'),
+ ('ở', 'ở'),
+ ('ỡ', 'ỡ'),
+ ('ợ', 'ợ'),
+ ('ụ', 'ụ'),
+ ('ủ', 'ủ'),
+ ('ứ', 'ứ'),
+ ('ừ', 'ừ'),
+ ('ử', 'ử'),
+ ('ữ', 'ữ'),
+ ('ự', 'ự'),
+ ('ỳ', 'ỳ'),
+ ('ỵ', 'ỵ'),
+ ('ỷ', 'ỷ'),
+ ('ỹ', 'ỹ'),
+ ('ỻ', 'ỻ'),
+ ('ỽ', 'ỽ'),
+ ('ỿ', 'ἇ'),
+ ('ἐ', 'ἕ'),
+ ('ἠ', 'ἧ'),
+ ('ἰ', 'ἷ'),
+ ('ὀ', 'ὅ'),
+ ('ὐ', 'ὗ'),
+ ('ὠ', 'ὧ'),
+ ('ὰ', 'ώ'),
+ ('ᾀ', 'ᾇ'),
+ ('ᾐ', 'ᾗ'),
+ ('ᾠ', 'ᾧ'),
+ ('ᾰ', 'ᾴ'),
+ ('ᾶ', 'ᾷ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῇ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'ῗ'),
+ ('ῠ', 'ῧ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῷ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℊ', 'ℊ'),
+ ('ℎ', 'ℏ'),
+ ('ℓ', 'ℓ'),
+ ('ℯ', 'ℯ'),
+ ('ℴ', 'ℴ'),
+ ('ℹ', 'ℹ'),
+ ('ℼ', 'ℽ'),
+ ('ⅆ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('ⅰ', 'ⅿ'),
+ ('ↄ', 'ↄ'),
+ ('ⓐ', 'ⓩ'),
+ ('ⰰ', 'ⱟ'),
+ ('ⱡ', 'ⱡ'),
+ ('ⱥ', 'ⱦ'),
+ ('ⱨ', 'ⱨ'),
+ ('ⱪ', 'ⱪ'),
+ ('ⱬ', 'ⱬ'),
+ ('ⱱ', 'ⱱ'),
+ ('ⱳ', 'ⱴ'),
+ ('ⱶ', 'ⱽ'),
+ ('ⲁ', 'ⲁ'),
+ ('ⲃ', 'ⲃ'),
+ ('ⲅ', 'ⲅ'),
+ ('ⲇ', 'ⲇ'),
+ ('ⲉ', 'ⲉ'),
+ ('ⲋ', 'ⲋ'),
+ ('ⲍ', 'ⲍ'),
+ ('ⲏ', 'ⲏ'),
+ ('ⲑ', 'ⲑ'),
+ ('ⲓ', 'ⲓ'),
+ ('ⲕ', 'ⲕ'),
+ ('ⲗ', 'ⲗ'),
+ ('ⲙ', 'ⲙ'),
+ ('ⲛ', 'ⲛ'),
+ ('ⲝ', 'ⲝ'),
+ ('ⲟ', 'ⲟ'),
+ ('ⲡ', 'ⲡ'),
+ ('ⲣ', 'ⲣ'),
+ ('ⲥ', 'ⲥ'),
+ ('ⲧ', 'ⲧ'),
+ ('ⲩ', 'ⲩ'),
+ ('ⲫ', 'ⲫ'),
+ ('ⲭ', 'ⲭ'),
+ ('ⲯ', 'ⲯ'),
+ ('ⲱ', 'ⲱ'),
+ ('ⲳ', 'ⲳ'),
+ ('ⲵ', 'ⲵ'),
+ ('ⲷ', 'ⲷ'),
+ ('ⲹ', 'ⲹ'),
+ ('ⲻ', 'ⲻ'),
+ ('ⲽ', 'ⲽ'),
+ ('ⲿ', 'ⲿ'),
+ ('ⳁ', 'ⳁ'),
+ ('ⳃ', 'ⳃ'),
+ ('ⳅ', 'ⳅ'),
+ ('ⳇ', 'ⳇ'),
+ ('ⳉ', 'ⳉ'),
+ ('ⳋ', 'ⳋ'),
+ ('ⳍ', 'ⳍ'),
+ ('ⳏ', 'ⳏ'),
+ ('ⳑ', 'ⳑ'),
+ ('ⳓ', 'ⳓ'),
+ ('ⳕ', 'ⳕ'),
+ ('ⳗ', 'ⳗ'),
+ ('ⳙ', 'ⳙ'),
+ ('ⳛ', 'ⳛ'),
+ ('ⳝ', 'ⳝ'),
+ ('ⳟ', 'ⳟ'),
+ ('ⳡ', 'ⳡ'),
+ ('ⳣ', 'ⳤ'),
+ ('ⳬ', 'ⳬ'),
+ ('ⳮ', 'ⳮ'),
+ ('ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ꙁ', 'ꙁ'),
+ ('ꙃ', 'ꙃ'),
+ ('ꙅ', 'ꙅ'),
+ ('ꙇ', 'ꙇ'),
+ ('ꙉ', 'ꙉ'),
+ ('ꙋ', 'ꙋ'),
+ ('ꙍ', 'ꙍ'),
+ ('ꙏ', 'ꙏ'),
+ ('ꙑ', 'ꙑ'),
+ ('ꙓ', 'ꙓ'),
+ ('ꙕ', 'ꙕ'),
+ ('ꙗ', 'ꙗ'),
+ ('ꙙ', 'ꙙ'),
+ ('ꙛ', 'ꙛ'),
+ ('ꙝ', 'ꙝ'),
+ ('ꙟ', 'ꙟ'),
+ ('ꙡ', 'ꙡ'),
+ ('ꙣ', 'ꙣ'),
+ ('ꙥ', 'ꙥ'),
+ ('ꙧ', 'ꙧ'),
+ ('ꙩ', 'ꙩ'),
+ ('ꙫ', 'ꙫ'),
+ ('ꙭ', 'ꙭ'),
+ ('ꚁ', 'ꚁ'),
+ ('ꚃ', 'ꚃ'),
+ ('ꚅ', 'ꚅ'),
+ ('ꚇ', 'ꚇ'),
+ ('ꚉ', 'ꚉ'),
+ ('ꚋ', 'ꚋ'),
+ ('ꚍ', 'ꚍ'),
+ ('ꚏ', 'ꚏ'),
+ ('ꚑ', 'ꚑ'),
+ ('ꚓ', 'ꚓ'),
+ ('ꚕ', 'ꚕ'),
+ ('ꚗ', 'ꚗ'),
+ ('ꚙ', 'ꚙ'),
+ ('ꚛ', 'ꚝ'),
+ ('ꜣ', 'ꜣ'),
+ ('ꜥ', 'ꜥ'),
+ ('ꜧ', 'ꜧ'),
+ ('ꜩ', 'ꜩ'),
+ ('ꜫ', 'ꜫ'),
+ ('ꜭ', 'ꜭ'),
+ ('ꜯ', 'ꜱ'),
+ ('ꜳ', 'ꜳ'),
+ ('ꜵ', 'ꜵ'),
+ ('ꜷ', 'ꜷ'),
+ ('ꜹ', 'ꜹ'),
+ ('ꜻ', 'ꜻ'),
+ ('ꜽ', 'ꜽ'),
+ ('ꜿ', 'ꜿ'),
+ ('ꝁ', 'ꝁ'),
+ ('ꝃ', 'ꝃ'),
+ ('ꝅ', 'ꝅ'),
+ ('ꝇ', 'ꝇ'),
+ ('ꝉ', 'ꝉ'),
+ ('ꝋ', 'ꝋ'),
+ ('ꝍ', 'ꝍ'),
+ ('ꝏ', 'ꝏ'),
+ ('ꝑ', 'ꝑ'),
+ ('ꝓ', 'ꝓ'),
+ ('ꝕ', 'ꝕ'),
+ ('ꝗ', 'ꝗ'),
+ ('ꝙ', 'ꝙ'),
+ ('ꝛ', 'ꝛ'),
+ ('ꝝ', 'ꝝ'),
+ ('ꝟ', 'ꝟ'),
+ ('ꝡ', 'ꝡ'),
+ ('ꝣ', 'ꝣ'),
+ ('ꝥ', 'ꝥ'),
+ ('ꝧ', 'ꝧ'),
+ ('ꝩ', 'ꝩ'),
+ ('ꝫ', 'ꝫ'),
+ ('ꝭ', 'ꝭ'),
+ ('ꝯ', 'ꝸ'),
+ ('ꝺ', 'ꝺ'),
+ ('ꝼ', 'ꝼ'),
+ ('ꝿ', 'ꝿ'),
+ ('ꞁ', 'ꞁ'),
+ ('ꞃ', 'ꞃ'),
+ ('ꞅ', 'ꞅ'),
+ ('ꞇ', 'ꞇ'),
+ ('ꞌ', 'ꞌ'),
+ ('ꞎ', 'ꞎ'),
+ ('ꞑ', 'ꞑ'),
+ ('ꞓ', 'ꞕ'),
+ ('ꞗ', 'ꞗ'),
+ ('ꞙ', 'ꞙ'),
+ ('ꞛ', 'ꞛ'),
+ ('ꞝ', 'ꞝ'),
+ ('ꞟ', 'ꞟ'),
+ ('ꞡ', 'ꞡ'),
+ ('ꞣ', 'ꞣ'),
+ ('ꞥ', 'ꞥ'),
+ ('ꞧ', 'ꞧ'),
+ ('ꞩ', 'ꞩ'),
+ ('ꞯ', 'ꞯ'),
+ ('ꞵ', 'ꞵ'),
+ ('ꞷ', 'ꞷ'),
+ ('ꞹ', 'ꞹ'),
+ ('ꞻ', 'ꞻ'),
+ ('ꞽ', 'ꞽ'),
+ ('ꞿ', 'ꞿ'),
+ ('ꟁ', 'ꟁ'),
+ ('ꟃ', 'ꟃ'),
+ ('ꟈ', 'ꟈ'),
+ ('ꟊ', 'ꟊ'),
+ ('ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟕ'),
+ ('ꟗ', 'ꟗ'),
+ ('ꟙ', 'ꟙ'),
+ ('ꟲ', 'ꟴ'),
+ ('ꟶ', 'ꟶ'),
+ ('ꟸ', 'ꟺ'),
+ ('ꬰ', 'ꭚ'),
+ ('ꭜ', 'ꭩ'),
+ ('ꭰ', 'ꮿ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('a', 'z'),
+ ('𐐨', '𐑏'),
+ ('𐓘', '𐓻'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐞀', '𐞀'),
+ ('𐞃', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐳀', '𐳲'),
+ ('𑣀', '𑣟'),
+ ('𖹠', '𖹿'),
+ ('𝐚', '𝐳'),
+ ('𝑎', '𝑔'),
+ ('𝑖', '𝑧'),
+ ('𝒂', '𝒛'),
+ ('𝒶', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝓏'),
+ ('𝓪', '𝔃'),
+ ('𝔞', '𝔷'),
+ ('𝕒', '𝕫'),
+ ('𝖆', '𝖟'),
+ ('𝖺', '𝗓'),
+ ('𝗮', '𝘇'),
+ ('𝘢', '𝘻'),
+ ('𝙖', '𝙯'),
+ ('𝚊', '𝚥'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛡'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜛'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝕'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞏'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟉'),
+ ('𝟋', '𝟋'),
+ ('𝼀', '𝼉'),
+ ('𝼋', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞤢', '𞥃'),
+];
+
+pub const NUMERIC: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('٠', '٩'),
+ ('٫', '٬'),
+ ('۰', '۹'),
+ ('߀', '߉'),
+ ('०', '९'),
+ ('০', '৯'),
+ ('੦', '੯'),
+ ('૦', '૯'),
+ ('୦', '୯'),
+ ('௦', '௯'),
+ ('౦', '౯'),
+ ('೦', '೯'),
+ ('൦', '൯'),
+ ('෦', '෯'),
+ ('๐', '๙'),
+ ('໐', '໙'),
+ ('༠', '༩'),
+ ('၀', '၉'),
+ ('႐', '႙'),
+ ('០', '៩'),
+ ('᠐', '᠙'),
+ ('᥆', '᥏'),
+ ('᧐', '᧙'),
+ ('᪀', '᪉'),
+ ('᪐', '᪙'),
+ ('᭐', '᭙'),
+ ('᮰', '᮹'),
+ ('᱀', '᱉'),
+ ('᱐', '᱙'),
+ ('꘠', '꘩'),
+ ('꣐', '꣙'),
+ ('꤀', '꤉'),
+ ('꧐', '꧙'),
+ ('꧰', '꧹'),
+ ('꩐', '꩙'),
+ ('꯰', '꯹'),
+ ('0', '9'),
+ ('𐒠', '𐒩'),
+ ('𐴰', '𐴹'),
+ ('𑁦', '𑁯'),
+ ('𑃰', '𑃹'),
+ ('𑄶', '𑄿'),
+ ('𑇐', '𑇙'),
+ ('𑋰', '𑋹'),
+ ('𑑐', '𑑙'),
+ ('𑓐', '𑓙'),
+ ('𑙐', '𑙙'),
+ ('𑛀', '𑛉'),
+ ('𑜰', '𑜹'),
+ ('𑣠', '𑣩'),
+ ('𑥐', '𑥙'),
+ ('𑱐', '𑱙'),
+ ('𑵐', '𑵙'),
+ ('𑶠', '𑶩'),
+ ('𑽐', '𑽙'),
+ ('𖩠', '𖩩'),
+ ('𖫀', '𖫉'),
+ ('𖭐', '𖭙'),
+ ('𝟎', '𝟿'),
+ ('𞅀', '𞅉'),
+ ('𞋰', '𞋹'),
+ ('𞓰', '𞓹'),
+ ('𞥐', '𞥙'),
+ ('🯰', '🯹'),
+];
+
+pub const OLETTER: &'static [(char, char)] = &[
+ ('ƻ', 'ƻ'),
+ ('ǀ', 'ǃ'),
+ ('ʔ', 'ʔ'),
+ ('ʹ', 'ʿ'),
+ ('ˆ', 'ˑ'),
+ ('ˬ', 'ˬ'),
+ ('ˮ', 'ˮ'),
+ ('ʹ', 'ʹ'),
+ ('ՙ', 'ՙ'),
+ ('א', 'ת'),
+ ('ׯ', '׳'),
+ ('ؠ', 'ي'),
+ ('ٮ', 'ٯ'),
+ ('ٱ', 'ۓ'),
+ ('ە', 'ە'),
+ ('ۥ', 'ۦ'),
+ ('ۮ', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠀ', 'ࠕ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('ऄ', 'ह'),
+ ('ऽ', 'ऽ'),
+ ('ॐ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('ॱ', 'ঀ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('ੲ', 'ੴ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ઽ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('ૹ', 'ૹ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('ୱ', 'ୱ'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ௐ', 'ௐ'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('ಀ', 'ಀ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಽ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('ೱ', 'ೲ'),
+ ('ഄ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', 'ൖ'),
+ ('ൟ', 'ൡ'),
+ ('ൺ', 'ൿ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ก', 'ะ'),
+ ('า', 'ำ'),
+ ('เ', 'ๆ'),
+ ('ກ', 'ຂ'),
+ ('ຄ', 'ຄ'),
+ ('ຆ', 'ຊ'),
+ ('ຌ', 'ຣ'),
+ ('ລ', 'ລ'),
+ ('ວ', 'ະ'),
+ ('າ', 'ຳ'),
+ ('ຽ', 'ຽ'),
+ ('ເ', 'ໄ'),
+ ('ໆ', 'ໆ'),
+ ('ໜ', 'ໟ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ྈ', 'ྌ'),
+ ('က', 'ဪ'),
+ ('ဿ', 'ဿ'),
+ ('ၐ', 'ၕ'),
+ ('ၚ', 'ၝ'),
+ ('ၡ', 'ၡ'),
+ ('ၥ', 'ၦ'),
+ ('ၮ', 'ၰ'),
+ ('ၵ', 'ႁ'),
+ ('ႎ', 'ႎ'),
+ ('ა', 'ჺ'),
+ ('ჽ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('ᜟ', 'ᜱ'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ក', 'ឳ'),
+ ('ៗ', 'ៗ'),
+ ('ៜ', 'ៜ'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢄ'),
+ ('ᢇ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᥐ', 'ᥭ'),
+ ('ᥰ', 'ᥴ'),
+ ('ᦀ', 'ᦫ'),
+ ('ᦰ', 'ᧉ'),
+ ('ᨀ', 'ᨖ'),
+ ('ᨠ', 'ᩔ'),
+ ('ᪧ', 'ᪧ'),
+ ('ᬅ', 'ᬳ'),
+ ('ᭅ', 'ᭌ'),
+ ('ᮃ', 'ᮠ'),
+ ('ᮮ', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᰀ', 'ᰣ'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱽ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ℵ', 'ℸ'),
+ ('ↀ', 'ↂ'),
+ ('ↅ', 'ↈ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '〇'),
+ ('〡', '〩'),
+ ('〱', '〵'),
+ ('〸', '〼'),
+ ('ぁ', 'ゖ'),
+ ('ゝ', 'ゟ'),
+ ('ァ', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㐀', '䶿'),
+ ('一', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('ꙮ', 'ꙮ'),
+ ('ꙿ', 'ꙿ'),
+ ('ꚠ', 'ꛯ'),
+ ('ꜗ', 'ꜟ'),
+ ('ꞈ', 'ꞈ'),
+ ('ꞏ', 'ꞏ'),
+ ('ꟷ', 'ꟷ'),
+ ('ꟻ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠢ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢂ', 'ꢳ'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', 'ꣾ'),
+ ('ꤊ', 'ꤥ'),
+ ('ꤰ', 'ꥆ'),
+ ('ꥠ', 'ꥼ'),
+ ('ꦄ', 'ꦲ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꧠ', 'ꧤ'),
+ ('ꧦ', 'ꧯ'),
+ ('ꧺ', 'ꧾ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꩠ', 'ꩶ'),
+ ('ꩺ', 'ꩺ'),
+ ('ꩾ', 'ꪯ'),
+ ('ꪱ', 'ꪱ'),
+ ('ꪵ', 'ꪶ'),
+ ('ꪹ', 'ꪽ'),
+ ('ꫀ', 'ꫀ'),
+ ('ꫂ', 'ꫂ'),
+ ('ꫛ', 'ꫝ'),
+ ('ꫠ', 'ꫪ'),
+ ('ꫲ', 'ꫴ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꯀ', 'ꯢ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('豈', '舘'),
+ ('並', '龎'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('ヲ', 'ン'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐑐', '𐒝'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞁', '𐞂'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐴀', '𐴣'),
+ ('𐺀', '𐺩'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀃', '𑀷'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂃', '𑂯'),
+ ('𑃐', '𑃨'),
+ ('𑄃', '𑄦'),
+ ('𑅄', '𑅄'),
+ ('𑅇', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('𑆃', '𑆲'),
+ ('𑇁', '𑇄'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈫'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '𑋞'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍡'),
+ ('𑐀', '𑐴'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '𑖮'),
+ ('𑗘', '𑗛'),
+ ('𑘀', '𑘯'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '𑚪'),
+ ('𑚸', '𑚸'),
+ ('𑜀', '𑜚'),
+ ('𑝀', '𑝆'),
+ ('𑠀', '𑠫'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧐'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧣'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨺', '𑨺'),
+ ('𑩐', '𑩐'),
+ ('𑩜', '𑪉'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰮'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶉'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻲'),
+ ('𑼂', '𑼂'),
+ ('𑼄', '𑼐'),
+ ('𑼒', '𑼳'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭀', '𖭃'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖽐'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𗀀', '𘟷'),
+ ('𘠀', '𘳕'),
+ ('𘴀', '𘴈'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛄢'),
+ ('𛄲', '𛄲'),
+ ('𛅐', '𛅒'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+ ('𛅰', '𛋻'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𝼊', '𝼊'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓫'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞥋', '𞥋'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('𠀀', '𪛟'),
+ ('𪜀', '𫜹'),
+ ('𫝀', '𫠝'),
+ ('𫠠', '𬺡'),
+ ('𬺰', '𮯠'),
+ ('丽', '𪘀'),
+ ('𰀀', '𱍊'),
+ ('𱍐', '𲎯'),
+];
+
+pub const SCONTINUE: &'static [(char, char)] = &[
+ (',', '-'),
+ (':', ':'),
+ ('՝', '՝'),
+ ('،', '؍'),
+ ('߸', '߸'),
+ ('᠂', '᠂'),
+ ('᠈', '᠈'),
+ ('–', '—'),
+ ('、', '、'),
+ ('︐', '︑'),
+ ('︓', '︓'),
+ ('︱', '︲'),
+ ('﹐', '﹑'),
+ ('﹕', '﹕'),
+ ('﹘', '﹘'),
+ ('﹣', '﹣'),
+ (',', '-'),
+ (':', ':'),
+ ('、', '、'),
+];
+
+pub const STERM: &'static [(char, char)] = &[
+ ('!', '!'),
+ ('?', '?'),
+ ('։', '։'),
+ ('؝', '؟'),
+ ('۔', '۔'),
+ ('܀', '܂'),
+ ('߹', '߹'),
+ ('࠷', '࠷'),
+ ('࠹', '࠹'),
+ ('࠽', '࠾'),
+ ('।', '॥'),
+ ('၊', '။'),
+ ('።', '።'),
+ ('፧', '፨'),
+ ('᙮', '᙮'),
+ ('᜵', '᜶'),
+ ('᠃', '᠃'),
+ ('᠉', '᠉'),
+ ('᥄', '᥅'),
+ ('᪨', '᪫'),
+ ('᭚', '᭛'),
+ ('᭞', '᭟'),
+ ('᭽', '᭾'),
+ ('᰻', '᰼'),
+ ('᱾', '᱿'),
+ ('‼', '‽'),
+ ('⁇', '⁉'),
+ ('⸮', '⸮'),
+ ('⸼', '⸼'),
+ ('⹓', '⹔'),
+ ('。', '。'),
+ ('꓿', '꓿'),
+ ('꘎', '꘏'),
+ ('꛳', '꛳'),
+ ('꛷', '꛷'),
+ ('꡶', '꡷'),
+ ('꣎', '꣏'),
+ ('꤯', '꤯'),
+ ('꧈', '꧉'),
+ ('꩝', '꩟'),
+ ('꫰', '꫱'),
+ ('꯫', '꯫'),
+ ('﹖', '﹗'),
+ ('!', '!'),
+ ('?', '?'),
+ ('。', '。'),
+ ('𐩖', '𐩗'),
+ ('𐽕', '𐽙'),
+ ('𐾆', '𐾉'),
+ ('𑁇', '𑁈'),
+ ('𑂾', '𑃁'),
+ ('𑅁', '𑅃'),
+ ('𑇅', '𑇆'),
+ ('𑇍', '𑇍'),
+ ('𑇞', '𑇟'),
+ ('𑈸', '𑈹'),
+ ('𑈻', '𑈼'),
+ ('𑊩', '𑊩'),
+ ('𑑋', '𑑌'),
+ ('𑗂', '𑗃'),
+ ('𑗉', '𑗗'),
+ ('𑙁', '𑙂'),
+ ('𑜼', '𑜾'),
+ ('𑥄', '𑥄'),
+ ('𑥆', '𑥆'),
+ ('𑩂', '𑩃'),
+ ('𑪛', '𑪜'),
+ ('𑱁', '𑱂'),
+ ('𑻷', '𑻸'),
+ ('𑽃', '𑽄'),
+ ('𖩮', '𖩯'),
+ ('𖫵', '𖫵'),
+ ('𖬷', '𖬸'),
+ ('𖭄', '𖭄'),
+ ('𖺘', '𖺘'),
+ ('𛲟', '𛲟'),
+ ('𝪈', '𝪈'),
+];
+
+pub const SEP: &'static [(char, char)] =
+ &[('\u{85}', '\u{85}'), ('\u{2028}', '\u{2029}')];
+
+pub const SP: &'static [(char, char)] = &[
+ ('\t', '\t'),
+ ('\u{b}', '\u{c}'),
+ (' ', ' '),
+ ('\u{a0}', '\u{a0}'),
+ ('\u{1680}', '\u{1680}'),
+ ('\u{2000}', '\u{200a}'),
+ ('\u{202f}', '\u{202f}'),
+ ('\u{205f}', '\u{205f}'),
+ ('\u{3000}', '\u{3000}'),
+];
+
+pub const UPPER: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('À', 'Ö'),
+ ('Ø', 'Þ'),
+ ('Ā', 'Ā'),
+ ('Ă', 'Ă'),
+ ('Ą', 'Ą'),
+ ('Ć', 'Ć'),
+ ('Ĉ', 'Ĉ'),
+ ('Ċ', 'Ċ'),
+ ('Č', 'Č'),
+ ('Ď', 'Ď'),
+ ('Đ', 'Đ'),
+ ('Ē', 'Ē'),
+ ('Ĕ', 'Ĕ'),
+ ('Ė', 'Ė'),
+ ('Ę', 'Ę'),
+ ('Ě', 'Ě'),
+ ('Ĝ', 'Ĝ'),
+ ('Ğ', 'Ğ'),
+ ('Ġ', 'Ġ'),
+ ('Ģ', 'Ģ'),
+ ('Ĥ', 'Ĥ'),
+ ('Ħ', 'Ħ'),
+ ('Ĩ', 'Ĩ'),
+ ('Ī', 'Ī'),
+ ('Ĭ', 'Ĭ'),
+ ('Į', 'Į'),
+ ('İ', 'İ'),
+ ('IJ', 'IJ'),
+ ('Ĵ', 'Ĵ'),
+ ('Ķ', 'Ķ'),
+ ('Ĺ', 'Ĺ'),
+ ('Ļ', 'Ļ'),
+ ('Ľ', 'Ľ'),
+ ('Ŀ', 'Ŀ'),
+ ('Ł', 'Ł'),
+ ('Ń', 'Ń'),
+ ('Ņ', 'Ņ'),
+ ('Ň', 'Ň'),
+ ('Ŋ', 'Ŋ'),
+ ('Ō', 'Ō'),
+ ('Ŏ', 'Ŏ'),
+ ('Ő', 'Ő'),
+ ('Œ', 'Œ'),
+ ('Ŕ', 'Ŕ'),
+ ('Ŗ', 'Ŗ'),
+ ('Ř', 'Ř'),
+ ('Ś', 'Ś'),
+ ('Ŝ', 'Ŝ'),
+ ('Ş', 'Ş'),
+ ('Š', 'Š'),
+ ('Ţ', 'Ţ'),
+ ('Ť', 'Ť'),
+ ('Ŧ', 'Ŧ'),
+ ('Ũ', 'Ũ'),
+ ('Ū', 'Ū'),
+ ('Ŭ', 'Ŭ'),
+ ('Ů', 'Ů'),
+ ('Ű', 'Ű'),
+ ('Ų', 'Ų'),
+ ('Ŵ', 'Ŵ'),
+ ('Ŷ', 'Ŷ'),
+ ('Ÿ', 'Ź'),
+ ('Ż', 'Ż'),
+ ('Ž', 'Ž'),
+ ('Ɓ', 'Ƃ'),
+ ('Ƅ', 'Ƅ'),
+ ('Ɔ', 'Ƈ'),
+ ('Ɖ', 'Ƌ'),
+ ('Ǝ', 'Ƒ'),
+ ('Ɠ', 'Ɣ'),
+ ('Ɩ', 'Ƙ'),
+ ('Ɯ', 'Ɲ'),
+ ('Ɵ', 'Ơ'),
+ ('Ƣ', 'Ƣ'),
+ ('Ƥ', 'Ƥ'),
+ ('Ʀ', 'Ƨ'),
+ ('Ʃ', 'Ʃ'),
+ ('Ƭ', 'Ƭ'),
+ ('Ʈ', 'Ư'),
+ ('Ʊ', 'Ƴ'),
+ ('Ƶ', 'Ƶ'),
+ ('Ʒ', 'Ƹ'),
+ ('Ƽ', 'Ƽ'),
+ ('DŽ', 'Dž'),
+ ('LJ', 'Lj'),
+ ('NJ', 'Nj'),
+ ('Ǎ', 'Ǎ'),
+ ('Ǐ', 'Ǐ'),
+ ('Ǒ', 'Ǒ'),
+ ('Ǔ', 'Ǔ'),
+ ('Ǖ', 'Ǖ'),
+ ('Ǘ', 'Ǘ'),
+ ('Ǚ', 'Ǚ'),
+ ('Ǜ', 'Ǜ'),
+ ('Ǟ', 'Ǟ'),
+ ('Ǡ', 'Ǡ'),
+ ('Ǣ', 'Ǣ'),
+ ('Ǥ', 'Ǥ'),
+ ('Ǧ', 'Ǧ'),
+ ('Ǩ', 'Ǩ'),
+ ('Ǫ', 'Ǫ'),
+ ('Ǭ', 'Ǭ'),
+ ('Ǯ', 'Ǯ'),
+ ('DZ', 'Dz'),
+ ('Ǵ', 'Ǵ'),
+ ('Ƕ', 'Ǹ'),
+ ('Ǻ', 'Ǻ'),
+ ('Ǽ', 'Ǽ'),
+ ('Ǿ', 'Ǿ'),
+ ('Ȁ', 'Ȁ'),
+ ('Ȃ', 'Ȃ'),
+ ('Ȅ', 'Ȅ'),
+ ('Ȇ', 'Ȇ'),
+ ('Ȉ', 'Ȉ'),
+ ('Ȋ', 'Ȋ'),
+ ('Ȍ', 'Ȍ'),
+ ('Ȏ', 'Ȏ'),
+ ('Ȑ', 'Ȑ'),
+ ('Ȓ', 'Ȓ'),
+ ('Ȕ', 'Ȕ'),
+ ('Ȗ', 'Ȗ'),
+ ('Ș', 'Ș'),
+ ('Ț', 'Ț'),
+ ('Ȝ', 'Ȝ'),
+ ('Ȟ', 'Ȟ'),
+ ('Ƞ', 'Ƞ'),
+ ('Ȣ', 'Ȣ'),
+ ('Ȥ', 'Ȥ'),
+ ('Ȧ', 'Ȧ'),
+ ('Ȩ', 'Ȩ'),
+ ('Ȫ', 'Ȫ'),
+ ('Ȭ', 'Ȭ'),
+ ('Ȯ', 'Ȯ'),
+ ('Ȱ', 'Ȱ'),
+ ('Ȳ', 'Ȳ'),
+ ('Ⱥ', 'Ȼ'),
+ ('Ƚ', 'Ⱦ'),
+ ('Ɂ', 'Ɂ'),
+ ('Ƀ', 'Ɇ'),
+ ('Ɉ', 'Ɉ'),
+ ('Ɋ', 'Ɋ'),
+ ('Ɍ', 'Ɍ'),
+ ('Ɏ', 'Ɏ'),
+ ('Ͱ', 'Ͱ'),
+ ('Ͳ', 'Ͳ'),
+ ('Ͷ', 'Ͷ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ώ'),
+ ('Α', 'Ρ'),
+ ('Σ', 'Ϋ'),
+ ('Ϗ', 'Ϗ'),
+ ('ϒ', 'ϔ'),
+ ('Ϙ', 'Ϙ'),
+ ('Ϛ', 'Ϛ'),
+ ('Ϝ', 'Ϝ'),
+ ('Ϟ', 'Ϟ'),
+ ('Ϡ', 'Ϡ'),
+ ('Ϣ', 'Ϣ'),
+ ('Ϥ', 'Ϥ'),
+ ('Ϧ', 'Ϧ'),
+ ('Ϩ', 'Ϩ'),
+ ('Ϫ', 'Ϫ'),
+ ('Ϭ', 'Ϭ'),
+ ('Ϯ', 'Ϯ'),
+ ('ϴ', 'ϴ'),
+ ('Ϸ', 'Ϸ'),
+ ('Ϲ', 'Ϻ'),
+ ('Ͻ', 'Я'),
+ ('Ѡ', 'Ѡ'),
+ ('Ѣ', 'Ѣ'),
+ ('Ѥ', 'Ѥ'),
+ ('Ѧ', 'Ѧ'),
+ ('Ѩ', 'Ѩ'),
+ ('Ѫ', 'Ѫ'),
+ ('Ѭ', 'Ѭ'),
+ ('Ѯ', 'Ѯ'),
+ ('Ѱ', 'Ѱ'),
+ ('Ѳ', 'Ѳ'),
+ ('Ѵ', 'Ѵ'),
+ ('Ѷ', 'Ѷ'),
+ ('Ѹ', 'Ѹ'),
+ ('Ѻ', 'Ѻ'),
+ ('Ѽ', 'Ѽ'),
+ ('Ѿ', 'Ѿ'),
+ ('Ҁ', 'Ҁ'),
+ ('Ҋ', 'Ҋ'),
+ ('Ҍ', 'Ҍ'),
+ ('Ҏ', 'Ҏ'),
+ ('Ґ', 'Ґ'),
+ ('Ғ', 'Ғ'),
+ ('Ҕ', 'Ҕ'),
+ ('Җ', 'Җ'),
+ ('Ҙ', 'Ҙ'),
+ ('Қ', 'Қ'),
+ ('Ҝ', 'Ҝ'),
+ ('Ҟ', 'Ҟ'),
+ ('Ҡ', 'Ҡ'),
+ ('Ң', 'Ң'),
+ ('Ҥ', 'Ҥ'),
+ ('Ҧ', 'Ҧ'),
+ ('Ҩ', 'Ҩ'),
+ ('Ҫ', 'Ҫ'),
+ ('Ҭ', 'Ҭ'),
+ ('Ү', 'Ү'),
+ ('Ұ', 'Ұ'),
+ ('Ҳ', 'Ҳ'),
+ ('Ҵ', 'Ҵ'),
+ ('Ҷ', 'Ҷ'),
+ ('Ҹ', 'Ҹ'),
+ ('Һ', 'Һ'),
+ ('Ҽ', 'Ҽ'),
+ ('Ҿ', 'Ҿ'),
+ ('Ӏ', 'Ӂ'),
+ ('Ӄ', 'Ӄ'),
+ ('Ӆ', 'Ӆ'),
+ ('Ӈ', 'Ӈ'),
+ ('Ӊ', 'Ӊ'),
+ ('Ӌ', 'Ӌ'),
+ ('Ӎ', 'Ӎ'),
+ ('Ӑ', 'Ӑ'),
+ ('Ӓ', 'Ӓ'),
+ ('Ӕ', 'Ӕ'),
+ ('Ӗ', 'Ӗ'),
+ ('Ә', 'Ә'),
+ ('Ӛ', 'Ӛ'),
+ ('Ӝ', 'Ӝ'),
+ ('Ӟ', 'Ӟ'),
+ ('Ӡ', 'Ӡ'),
+ ('Ӣ', 'Ӣ'),
+ ('Ӥ', 'Ӥ'),
+ ('Ӧ', 'Ӧ'),
+ ('Ө', 'Ө'),
+ ('Ӫ', 'Ӫ'),
+ ('Ӭ', 'Ӭ'),
+ ('Ӯ', 'Ӯ'),
+ ('Ӱ', 'Ӱ'),
+ ('Ӳ', 'Ӳ'),
+ ('Ӵ', 'Ӵ'),
+ ('Ӷ', 'Ӷ'),
+ ('Ӹ', 'Ӹ'),
+ ('Ӻ', 'Ӻ'),
+ ('Ӽ', 'Ӽ'),
+ ('Ӿ', 'Ӿ'),
+ ('Ԁ', 'Ԁ'),
+ ('Ԃ', 'Ԃ'),
+ ('Ԅ', 'Ԅ'),
+ ('Ԇ', 'Ԇ'),
+ ('Ԉ', 'Ԉ'),
+ ('Ԋ', 'Ԋ'),
+ ('Ԍ', 'Ԍ'),
+ ('Ԏ', 'Ԏ'),
+ ('Ԑ', 'Ԑ'),
+ ('Ԓ', 'Ԓ'),
+ ('Ԕ', 'Ԕ'),
+ ('Ԗ', 'Ԗ'),
+ ('Ԙ', 'Ԙ'),
+ ('Ԛ', 'Ԛ'),
+ ('Ԝ', 'Ԝ'),
+ ('Ԟ', 'Ԟ'),
+ ('Ԡ', 'Ԡ'),
+ ('Ԣ', 'Ԣ'),
+ ('Ԥ', 'Ԥ'),
+ ('Ԧ', 'Ԧ'),
+ ('Ԩ', 'Ԩ'),
+ ('Ԫ', 'Ԫ'),
+ ('Ԭ', 'Ԭ'),
+ ('Ԯ', 'Ԯ'),
+ ('Ա', 'Ֆ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('Ḁ', 'Ḁ'),
+ ('Ḃ', 'Ḃ'),
+ ('Ḅ', 'Ḅ'),
+ ('Ḇ', 'Ḇ'),
+ ('Ḉ', 'Ḉ'),
+ ('Ḋ', 'Ḋ'),
+ ('Ḍ', 'Ḍ'),
+ ('Ḏ', 'Ḏ'),
+ ('Ḑ', 'Ḑ'),
+ ('Ḓ', 'Ḓ'),
+ ('Ḕ', 'Ḕ'),
+ ('Ḗ', 'Ḗ'),
+ ('Ḙ', 'Ḙ'),
+ ('Ḛ', 'Ḛ'),
+ ('Ḝ', 'Ḝ'),
+ ('Ḟ', 'Ḟ'),
+ ('Ḡ', 'Ḡ'),
+ ('Ḣ', 'Ḣ'),
+ ('Ḥ', 'Ḥ'),
+ ('Ḧ', 'Ḧ'),
+ ('Ḩ', 'Ḩ'),
+ ('Ḫ', 'Ḫ'),
+ ('Ḭ', 'Ḭ'),
+ ('Ḯ', 'Ḯ'),
+ ('Ḱ', 'Ḱ'),
+ ('Ḳ', 'Ḳ'),
+ ('Ḵ', 'Ḵ'),
+ ('Ḷ', 'Ḷ'),
+ ('Ḹ', 'Ḹ'),
+ ('Ḻ', 'Ḻ'),
+ ('Ḽ', 'Ḽ'),
+ ('Ḿ', 'Ḿ'),
+ ('Ṁ', 'Ṁ'),
+ ('Ṃ', 'Ṃ'),
+ ('Ṅ', 'Ṅ'),
+ ('Ṇ', 'Ṇ'),
+ ('Ṉ', 'Ṉ'),
+ ('Ṋ', 'Ṋ'),
+ ('Ṍ', 'Ṍ'),
+ ('Ṏ', 'Ṏ'),
+ ('Ṑ', 'Ṑ'),
+ ('Ṓ', 'Ṓ'),
+ ('Ṕ', 'Ṕ'),
+ ('Ṗ', 'Ṗ'),
+ ('Ṙ', 'Ṙ'),
+ ('Ṛ', 'Ṛ'),
+ ('Ṝ', 'Ṝ'),
+ ('Ṟ', 'Ṟ'),
+ ('Ṡ', 'Ṡ'),
+ ('Ṣ', 'Ṣ'),
+ ('Ṥ', 'Ṥ'),
+ ('Ṧ', 'Ṧ'),
+ ('Ṩ', 'Ṩ'),
+ ('Ṫ', 'Ṫ'),
+ ('Ṭ', 'Ṭ'),
+ ('Ṯ', 'Ṯ'),
+ ('Ṱ', 'Ṱ'),
+ ('Ṳ', 'Ṳ'),
+ ('Ṵ', 'Ṵ'),
+ ('Ṷ', 'Ṷ'),
+ ('Ṹ', 'Ṹ'),
+ ('Ṻ', 'Ṻ'),
+ ('Ṽ', 'Ṽ'),
+ ('Ṿ', 'Ṿ'),
+ ('Ẁ', 'Ẁ'),
+ ('Ẃ', 'Ẃ'),
+ ('Ẅ', 'Ẅ'),
+ ('Ẇ', 'Ẇ'),
+ ('Ẉ', 'Ẉ'),
+ ('Ẋ', 'Ẋ'),
+ ('Ẍ', 'Ẍ'),
+ ('Ẏ', 'Ẏ'),
+ ('Ẑ', 'Ẑ'),
+ ('Ẓ', 'Ẓ'),
+ ('Ẕ', 'Ẕ'),
+ ('ẞ', 'ẞ'),
+ ('Ạ', 'Ạ'),
+ ('Ả', 'Ả'),
+ ('Ấ', 'Ấ'),
+ ('Ầ', 'Ầ'),
+ ('Ẩ', 'Ẩ'),
+ ('Ẫ', 'Ẫ'),
+ ('Ậ', 'Ậ'),
+ ('Ắ', 'Ắ'),
+ ('Ằ', 'Ằ'),
+ ('Ẳ', 'Ẳ'),
+ ('Ẵ', 'Ẵ'),
+ ('Ặ', 'Ặ'),
+ ('Ẹ', 'Ẹ'),
+ ('Ẻ', 'Ẻ'),
+ ('Ẽ', 'Ẽ'),
+ ('Ế', 'Ế'),
+ ('Ề', 'Ề'),
+ ('Ể', 'Ể'),
+ ('Ễ', 'Ễ'),
+ ('Ệ', 'Ệ'),
+ ('Ỉ', 'Ỉ'),
+ ('Ị', 'Ị'),
+ ('Ọ', 'Ọ'),
+ ('Ỏ', 'Ỏ'),
+ ('Ố', 'Ố'),
+ ('Ồ', 'Ồ'),
+ ('Ổ', 'Ổ'),
+ ('Ỗ', 'Ỗ'),
+ ('Ộ', 'Ộ'),
+ ('Ớ', 'Ớ'),
+ ('Ờ', 'Ờ'),
+ ('Ở', 'Ở'),
+ ('Ỡ', 'Ỡ'),
+ ('Ợ', 'Ợ'),
+ ('Ụ', 'Ụ'),
+ ('Ủ', 'Ủ'),
+ ('Ứ', 'Ứ'),
+ ('Ừ', 'Ừ'),
+ ('Ử', 'Ử'),
+ ('Ữ', 'Ữ'),
+ ('Ự', 'Ự'),
+ ('Ỳ', 'Ỳ'),
+ ('Ỵ', 'Ỵ'),
+ ('Ỷ', 'Ỷ'),
+ ('Ỹ', 'Ỹ'),
+ ('Ỻ', 'Ỻ'),
+ ('Ỽ', 'Ỽ'),
+ ('Ỿ', 'Ỿ'),
+ ('Ἀ', 'Ἇ'),
+ ('Ἐ', 'Ἕ'),
+ ('Ἠ', 'Ἧ'),
+ ('Ἰ', 'Ἷ'),
+ ('Ὀ', 'Ὅ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'Ὗ'),
+ ('Ὠ', 'Ὧ'),
+ ('ᾈ', 'ᾏ'),
+ ('ᾘ', 'ᾟ'),
+ ('ᾨ', 'ᾯ'),
+ ('Ᾰ', 'ᾼ'),
+ ('Ὲ', 'ῌ'),
+ ('Ῐ', 'Ί'),
+ ('Ῠ', 'Ῥ'),
+ ('Ὸ', 'ῼ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℋ', 'ℍ'),
+ ('ℐ', 'ℒ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℰ', 'ℳ'),
+ ('ℾ', 'ℿ'),
+ ('ⅅ', 'ⅅ'),
+ ('Ⅰ', 'Ⅿ'),
+ ('Ↄ', 'Ↄ'),
+ ('Ⓐ', 'Ⓩ'),
+ ('Ⰰ', 'Ⱟ'),
+ ('Ⱡ', 'Ⱡ'),
+ ('Ɫ', 'Ɽ'),
+ ('Ⱨ', 'Ⱨ'),
+ ('Ⱪ', 'Ⱪ'),
+ ('Ⱬ', 'Ⱬ'),
+ ('Ɑ', 'Ɒ'),
+ ('Ⱳ', 'Ⱳ'),
+ ('Ⱶ', 'Ⱶ'),
+ ('Ȿ', 'Ⲁ'),
+ ('Ⲃ', 'Ⲃ'),
+ ('Ⲅ', 'Ⲅ'),
+ ('Ⲇ', 'Ⲇ'),
+ ('Ⲉ', 'Ⲉ'),
+ ('Ⲋ', 'Ⲋ'),
+ ('Ⲍ', 'Ⲍ'),
+ ('Ⲏ', 'Ⲏ'),
+ ('Ⲑ', 'Ⲑ'),
+ ('Ⲓ', 'Ⲓ'),
+ ('Ⲕ', 'Ⲕ'),
+ ('Ⲗ', 'Ⲗ'),
+ ('Ⲙ', 'Ⲙ'),
+ ('Ⲛ', 'Ⲛ'),
+ ('Ⲝ', 'Ⲝ'),
+ ('Ⲟ', 'Ⲟ'),
+ ('Ⲡ', 'Ⲡ'),
+ ('Ⲣ', 'Ⲣ'),
+ ('Ⲥ', 'Ⲥ'),
+ ('Ⲧ', 'Ⲧ'),
+ ('Ⲩ', 'Ⲩ'),
+ ('Ⲫ', 'Ⲫ'),
+ ('Ⲭ', 'Ⲭ'),
+ ('Ⲯ', 'Ⲯ'),
+ ('Ⲱ', 'Ⲱ'),
+ ('Ⲳ', 'Ⲳ'),
+ ('Ⲵ', 'Ⲵ'),
+ ('Ⲷ', 'Ⲷ'),
+ ('Ⲹ', 'Ⲹ'),
+ ('Ⲻ', 'Ⲻ'),
+ ('Ⲽ', 'Ⲽ'),
+ ('Ⲿ', 'Ⲿ'),
+ ('Ⳁ', 'Ⳁ'),
+ ('Ⳃ', 'Ⳃ'),
+ ('Ⳅ', 'Ⳅ'),
+ ('Ⳇ', 'Ⳇ'),
+ ('Ⳉ', 'Ⳉ'),
+ ('Ⳋ', 'Ⳋ'),
+ ('Ⳍ', 'Ⳍ'),
+ ('Ⳏ', 'Ⳏ'),
+ ('Ⳑ', 'Ⳑ'),
+ ('Ⳓ', 'Ⳓ'),
+ ('Ⳕ', 'Ⳕ'),
+ ('Ⳗ', 'Ⳗ'),
+ ('Ⳙ', 'Ⳙ'),
+ ('Ⳛ', 'Ⳛ'),
+ ('Ⳝ', 'Ⳝ'),
+ ('Ⳟ', 'Ⳟ'),
+ ('Ⳡ', 'Ⳡ'),
+ ('Ⳣ', 'Ⳣ'),
+ ('Ⳬ', 'Ⳬ'),
+ ('Ⳮ', 'Ⳮ'),
+ ('Ⳳ', 'Ⳳ'),
+ ('Ꙁ', 'Ꙁ'),
+ ('Ꙃ', 'Ꙃ'),
+ ('Ꙅ', 'Ꙅ'),
+ ('Ꙇ', 'Ꙇ'),
+ ('Ꙉ', 'Ꙉ'),
+ ('Ꙋ', 'Ꙋ'),
+ ('Ꙍ', 'Ꙍ'),
+ ('Ꙏ', 'Ꙏ'),
+ ('Ꙑ', 'Ꙑ'),
+ ('Ꙓ', 'Ꙓ'),
+ ('Ꙕ', 'Ꙕ'),
+ ('Ꙗ', 'Ꙗ'),
+ ('Ꙙ', 'Ꙙ'),
+ ('Ꙛ', 'Ꙛ'),
+ ('Ꙝ', 'Ꙝ'),
+ ('Ꙟ', 'Ꙟ'),
+ ('Ꙡ', 'Ꙡ'),
+ ('Ꙣ', 'Ꙣ'),
+ ('Ꙥ', 'Ꙥ'),
+ ('Ꙧ', 'Ꙧ'),
+ ('Ꙩ', 'Ꙩ'),
+ ('Ꙫ', 'Ꙫ'),
+ ('Ꙭ', 'Ꙭ'),
+ ('Ꚁ', 'Ꚁ'),
+ ('Ꚃ', 'Ꚃ'),
+ ('Ꚅ', 'Ꚅ'),
+ ('Ꚇ', 'Ꚇ'),
+ ('Ꚉ', 'Ꚉ'),
+ ('Ꚋ', 'Ꚋ'),
+ ('Ꚍ', 'Ꚍ'),
+ ('Ꚏ', 'Ꚏ'),
+ ('Ꚑ', 'Ꚑ'),
+ ('Ꚓ', 'Ꚓ'),
+ ('Ꚕ', 'Ꚕ'),
+ ('Ꚗ', 'Ꚗ'),
+ ('Ꚙ', 'Ꚙ'),
+ ('Ꚛ', 'Ꚛ'),
+ ('Ꜣ', 'Ꜣ'),
+ ('Ꜥ', 'Ꜥ'),
+ ('Ꜧ', 'Ꜧ'),
+ ('Ꜩ', 'Ꜩ'),
+ ('Ꜫ', 'Ꜫ'),
+ ('Ꜭ', 'Ꜭ'),
+ ('Ꜯ', 'Ꜯ'),
+ ('Ꜳ', 'Ꜳ'),
+ ('Ꜵ', 'Ꜵ'),
+ ('Ꜷ', 'Ꜷ'),
+ ('Ꜹ', 'Ꜹ'),
+ ('Ꜻ', 'Ꜻ'),
+ ('Ꜽ', 'Ꜽ'),
+ ('Ꜿ', 'Ꜿ'),
+ ('Ꝁ', 'Ꝁ'),
+ ('Ꝃ', 'Ꝃ'),
+ ('Ꝅ', 'Ꝅ'),
+ ('Ꝇ', 'Ꝇ'),
+ ('Ꝉ', 'Ꝉ'),
+ ('Ꝋ', 'Ꝋ'),
+ ('Ꝍ', 'Ꝍ'),
+ ('Ꝏ', 'Ꝏ'),
+ ('Ꝑ', 'Ꝑ'),
+ ('Ꝓ', 'Ꝓ'),
+ ('Ꝕ', 'Ꝕ'),
+ ('Ꝗ', 'Ꝗ'),
+ ('Ꝙ', 'Ꝙ'),
+ ('Ꝛ', 'Ꝛ'),
+ ('Ꝝ', 'Ꝝ'),
+ ('Ꝟ', 'Ꝟ'),
+ ('Ꝡ', 'Ꝡ'),
+ ('Ꝣ', 'Ꝣ'),
+ ('Ꝥ', 'Ꝥ'),
+ ('Ꝧ', 'Ꝧ'),
+ ('Ꝩ', 'Ꝩ'),
+ ('Ꝫ', 'Ꝫ'),
+ ('Ꝭ', 'Ꝭ'),
+ ('Ꝯ', 'Ꝯ'),
+ ('Ꝺ', 'Ꝺ'),
+ ('Ꝼ', 'Ꝼ'),
+ ('Ᵹ', 'Ꝿ'),
+ ('Ꞁ', 'Ꞁ'),
+ ('Ꞃ', 'Ꞃ'),
+ ('Ꞅ', 'Ꞅ'),
+ ('Ꞇ', 'Ꞇ'),
+ ('Ꞌ', 'Ꞌ'),
+ ('Ɥ', 'Ɥ'),
+ ('Ꞑ', 'Ꞑ'),
+ ('Ꞓ', 'Ꞓ'),
+ ('Ꞗ', 'Ꞗ'),
+ ('Ꞙ', 'Ꞙ'),
+ ('Ꞛ', 'Ꞛ'),
+ ('Ꞝ', 'Ꞝ'),
+ ('Ꞟ', 'Ꞟ'),
+ ('Ꞡ', 'Ꞡ'),
+ ('Ꞣ', 'Ꞣ'),
+ ('Ꞥ', 'Ꞥ'),
+ ('Ꞧ', 'Ꞧ'),
+ ('Ꞩ', 'Ꞩ'),
+ ('Ɦ', 'Ɪ'),
+ ('Ʞ', 'Ꞵ'),
+ ('Ꞷ', 'Ꞷ'),
+ ('Ꞹ', 'Ꞹ'),
+ ('Ꞻ', 'Ꞻ'),
+ ('Ꞽ', 'Ꞽ'),
+ ('Ꞿ', 'Ꞿ'),
+ ('Ꟁ', 'Ꟁ'),
+ ('Ꟃ', 'Ꟃ'),
+ ('Ꞔ', 'Ꟈ'),
+ ('Ꟊ', 'Ꟊ'),
+ ('Ꟑ', 'Ꟑ'),
+ ('Ꟗ', 'Ꟗ'),
+ ('Ꟙ', 'Ꟙ'),
+ ('Ꟶ', 'Ꟶ'),
+ ('A', 'Z'),
+ ('𐐀', '𐐧'),
+ ('𐒰', '𐓓'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐲀', '𐲲'),
+ ('𑢠', '𑢿'),
+ ('𖹀', '𖹟'),
+ ('𝐀', '𝐙'),
+ ('𝐴', '𝑍'),
+ ('𝑨', '𝒁'),
+ ('𝒜', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒵'),
+ ('𝓐', '𝓩'),
+ ('𝔄', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔸', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕬', '𝖅'),
+ ('𝖠', '𝖹'),
+ ('𝗔', '𝗭'),
+ ('𝘈', '𝘡'),
+ ('𝘼', '𝙕'),
+ ('𝙰', '𝚉'),
+ ('𝚨', '𝛀'),
+ ('𝛢', '𝛺'),
+ ('𝜜', '𝜴'),
+ ('𝝖', '𝝮'),
+ ('𝞐', '𝞨'),
+ ('𝟊', '𝟊'),
+ ('𞤀', '𞤡'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+];
diff --git a/third_party/rust/regex-syntax/src/unicode_tables/word_break.rs b/third_party/rust/regex-syntax/src/unicode_tables/word_break.rs
new file mode 100644
index 0000000000..c0714956fe
--- /dev/null
+++ b/third_party/rust/regex-syntax/src/unicode_tables/word_break.rs
@@ -0,0 +1,1120 @@
+// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
+//
+// ucd-generate word-break ucd-15.0.0 --chars
+//
+// Unicode version: 15.0.0.
+//
+// ucd-generate 0.2.14 is available on crates.io.
+
+pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
+ ("ALetter", ALETTER),
+ ("CR", CR),
+ ("Double_Quote", DOUBLE_QUOTE),
+ ("Extend", EXTEND),
+ ("ExtendNumLet", EXTENDNUMLET),
+ ("Format", FORMAT),
+ ("Hebrew_Letter", HEBREW_LETTER),
+ ("Katakana", KATAKANA),
+ ("LF", LF),
+ ("MidLetter", MIDLETTER),
+ ("MidNum", MIDNUM),
+ ("MidNumLet", MIDNUMLET),
+ ("Newline", NEWLINE),
+ ("Numeric", NUMERIC),
+ ("Regional_Indicator", REGIONAL_INDICATOR),
+ ("Single_Quote", SINGLE_QUOTE),
+ ("WSegSpace", WSEGSPACE),
+ ("ZWJ", ZWJ),
+];
+
+pub const ALETTER: &'static [(char, char)] = &[
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ª', 'ª'),
+ ('µ', 'µ'),
+ ('º', 'º'),
+ ('À', 'Ö'),
+ ('Ø', 'ö'),
+ ('ø', '˗'),
+ ('˞', '˿'),
+ ('Ͱ', 'ʹ'),
+ ('Ͷ', 'ͷ'),
+ ('ͺ', 'ͽ'),
+ ('Ϳ', 'Ϳ'),
+ ('Ά', 'Ά'),
+ ('Έ', 'Ί'),
+ ('Ό', 'Ό'),
+ ('Ύ', 'Ρ'),
+ ('Σ', 'ϵ'),
+ ('Ϸ', 'ҁ'),
+ ('Ҋ', 'ԯ'),
+ ('Ա', 'Ֆ'),
+ ('ՙ', '՜'),
+ ('՞', '՞'),
+ ('ՠ', 'ֈ'),
+ ('֊', '֊'),
+ ('׳', '׳'),
+ ('ؠ', 'ي'),
+ ('ٮ', 'ٯ'),
+ ('ٱ', 'ۓ'),
+ ('ە', 'ە'),
+ ('ۥ', 'ۦ'),
+ ('ۮ', 'ۯ'),
+ ('ۺ', 'ۼ'),
+ ('ۿ', 'ۿ'),
+ ('ܐ', 'ܐ'),
+ ('ܒ', 'ܯ'),
+ ('ݍ', 'ޥ'),
+ ('ޱ', 'ޱ'),
+ ('ߊ', 'ߪ'),
+ ('ߴ', 'ߵ'),
+ ('ߺ', 'ߺ'),
+ ('ࠀ', 'ࠕ'),
+ ('ࠚ', 'ࠚ'),
+ ('ࠤ', 'ࠤ'),
+ ('ࠨ', 'ࠨ'),
+ ('ࡀ', 'ࡘ'),
+ ('ࡠ', 'ࡪ'),
+ ('ࡰ', 'ࢇ'),
+ ('ࢉ', 'ࢎ'),
+ ('ࢠ', 'ࣉ'),
+ ('ऄ', 'ह'),
+ ('ऽ', 'ऽ'),
+ ('ॐ', 'ॐ'),
+ ('क़', 'ॡ'),
+ ('ॱ', 'ঀ'),
+ ('অ', 'ঌ'),
+ ('এ', 'ঐ'),
+ ('ও', 'ন'),
+ ('প', 'র'),
+ ('ল', 'ল'),
+ ('শ', 'হ'),
+ ('ঽ', 'ঽ'),
+ ('ৎ', 'ৎ'),
+ ('ড়', 'ঢ়'),
+ ('য়', 'ৡ'),
+ ('ৰ', 'ৱ'),
+ ('ৼ', 'ৼ'),
+ ('ਅ', 'ਊ'),
+ ('ਏ', 'ਐ'),
+ ('ਓ', 'ਨ'),
+ ('ਪ', 'ਰ'),
+ ('ਲ', 'ਲ਼'),
+ ('ਵ', 'ਸ਼'),
+ ('ਸ', 'ਹ'),
+ ('ਖ਼', 'ੜ'),
+ ('ਫ਼', 'ਫ਼'),
+ ('ੲ', 'ੴ'),
+ ('અ', 'ઍ'),
+ ('એ', 'ઑ'),
+ ('ઓ', 'ન'),
+ ('પ', 'ર'),
+ ('લ', 'ળ'),
+ ('વ', 'હ'),
+ ('ઽ', 'ઽ'),
+ ('ૐ', 'ૐ'),
+ ('ૠ', 'ૡ'),
+ ('ૹ', 'ૹ'),
+ ('ଅ', 'ଌ'),
+ ('ଏ', 'ଐ'),
+ ('ଓ', 'ନ'),
+ ('ପ', 'ର'),
+ ('ଲ', 'ଳ'),
+ ('ଵ', 'ହ'),
+ ('ଽ', 'ଽ'),
+ ('ଡ଼', 'ଢ଼'),
+ ('ୟ', 'ୡ'),
+ ('ୱ', 'ୱ'),
+ ('ஃ', 'ஃ'),
+ ('அ', 'ஊ'),
+ ('எ', 'ஐ'),
+ ('ஒ', 'க'),
+ ('ங', 'ச'),
+ ('ஜ', 'ஜ'),
+ ('ஞ', 'ட'),
+ ('ண', 'த'),
+ ('ந', 'ப'),
+ ('ம', 'ஹ'),
+ ('ௐ', 'ௐ'),
+ ('అ', 'ఌ'),
+ ('ఎ', 'ఐ'),
+ ('ఒ', 'న'),
+ ('ప', 'హ'),
+ ('ఽ', 'ఽ'),
+ ('ౘ', 'ౚ'),
+ ('ౝ', 'ౝ'),
+ ('ౠ', 'ౡ'),
+ ('ಀ', 'ಀ'),
+ ('ಅ', 'ಌ'),
+ ('ಎ', 'ಐ'),
+ ('ಒ', 'ನ'),
+ ('ಪ', 'ಳ'),
+ ('ವ', 'ಹ'),
+ ('ಽ', 'ಽ'),
+ ('ೝ', 'ೞ'),
+ ('ೠ', 'ೡ'),
+ ('ೱ', 'ೲ'),
+ ('ഄ', 'ഌ'),
+ ('എ', 'ഐ'),
+ ('ഒ', 'ഺ'),
+ ('ഽ', 'ഽ'),
+ ('ൎ', 'ൎ'),
+ ('ൔ', 'ൖ'),
+ ('ൟ', 'ൡ'),
+ ('ൺ', 'ൿ'),
+ ('අ', 'ඖ'),
+ ('ක', 'න'),
+ ('ඳ', 'ර'),
+ ('ල', 'ල'),
+ ('ව', 'ෆ'),
+ ('ༀ', 'ༀ'),
+ ('ཀ', 'ཇ'),
+ ('ཉ', 'ཬ'),
+ ('ྈ', 'ྌ'),
+ ('Ⴀ', 'Ⴥ'),
+ ('Ⴧ', 'Ⴧ'),
+ ('Ⴭ', 'Ⴭ'),
+ ('ა', 'ჺ'),
+ ('ჼ', 'ቈ'),
+ ('ቊ', 'ቍ'),
+ ('ቐ', 'ቖ'),
+ ('ቘ', 'ቘ'),
+ ('ቚ', 'ቝ'),
+ ('በ', 'ኈ'),
+ ('ኊ', 'ኍ'),
+ ('ነ', 'ኰ'),
+ ('ኲ', 'ኵ'),
+ ('ኸ', 'ኾ'),
+ ('ዀ', 'ዀ'),
+ ('ዂ', 'ዅ'),
+ ('ወ', 'ዖ'),
+ ('ዘ', 'ጐ'),
+ ('ጒ', 'ጕ'),
+ ('ጘ', 'ፚ'),
+ ('ᎀ', 'ᎏ'),
+ ('Ꭰ', 'Ᏽ'),
+ ('ᏸ', 'ᏽ'),
+ ('ᐁ', 'ᙬ'),
+ ('ᙯ', 'ᙿ'),
+ ('ᚁ', 'ᚚ'),
+ ('ᚠ', 'ᛪ'),
+ ('ᛮ', 'ᛸ'),
+ ('ᜀ', 'ᜑ'),
+ ('ᜟ', 'ᜱ'),
+ ('ᝀ', 'ᝑ'),
+ ('ᝠ', 'ᝬ'),
+ ('ᝮ', 'ᝰ'),
+ ('ᠠ', 'ᡸ'),
+ ('ᢀ', 'ᢄ'),
+ ('ᢇ', 'ᢨ'),
+ ('ᢪ', 'ᢪ'),
+ ('ᢰ', 'ᣵ'),
+ ('ᤀ', 'ᤞ'),
+ ('ᨀ', 'ᨖ'),
+ ('ᬅ', 'ᬳ'),
+ ('ᭅ', 'ᭌ'),
+ ('ᮃ', 'ᮠ'),
+ ('ᮮ', 'ᮯ'),
+ ('ᮺ', 'ᯥ'),
+ ('ᰀ', 'ᰣ'),
+ ('ᱍ', 'ᱏ'),
+ ('ᱚ', 'ᱽ'),
+ ('ᲀ', 'ᲈ'),
+ ('Ა', 'Ჺ'),
+ ('Ჽ', 'Ჿ'),
+ ('ᳩ', 'ᳬ'),
+ ('ᳮ', 'ᳳ'),
+ ('ᳵ', 'ᳶ'),
+ ('ᳺ', 'ᳺ'),
+ ('ᴀ', 'ᶿ'),
+ ('Ḁ', 'ἕ'),
+ ('Ἐ', 'Ἕ'),
+ ('ἠ', 'ὅ'),
+ ('Ὀ', 'Ὅ'),
+ ('ὐ', 'ὗ'),
+ ('Ὑ', 'Ὑ'),
+ ('Ὓ', 'Ὓ'),
+ ('Ὕ', 'Ὕ'),
+ ('Ὗ', 'ώ'),
+ ('ᾀ', 'ᾴ'),
+ ('ᾶ', 'ᾼ'),
+ ('ι', 'ι'),
+ ('ῂ', 'ῄ'),
+ ('ῆ', 'ῌ'),
+ ('ῐ', 'ΐ'),
+ ('ῖ', 'Ί'),
+ ('ῠ', 'Ῥ'),
+ ('ῲ', 'ῴ'),
+ ('ῶ', 'ῼ'),
+ ('ⁱ', 'ⁱ'),
+ ('ⁿ', 'ⁿ'),
+ ('ₐ', 'ₜ'),
+ ('ℂ', 'ℂ'),
+ ('ℇ', 'ℇ'),
+ ('ℊ', 'ℓ'),
+ ('ℕ', 'ℕ'),
+ ('ℙ', 'ℝ'),
+ ('ℤ', 'ℤ'),
+ ('Ω', 'Ω'),
+ ('ℨ', 'ℨ'),
+ ('K', 'ℭ'),
+ ('ℯ', 'ℹ'),
+ ('ℼ', 'ℿ'),
+ ('ⅅ', 'ⅉ'),
+ ('ⅎ', 'ⅎ'),
+ ('Ⅰ', 'ↈ'),
+ ('Ⓐ', 'ⓩ'),
+ ('Ⰰ', 'ⳤ'),
+ ('Ⳬ', 'ⳮ'),
+ ('Ⳳ', 'ⳳ'),
+ ('ⴀ', 'ⴥ'),
+ ('ⴧ', 'ⴧ'),
+ ('ⴭ', 'ⴭ'),
+ ('ⴰ', 'ⵧ'),
+ ('ⵯ', 'ⵯ'),
+ ('ⶀ', 'ⶖ'),
+ ('ⶠ', 'ⶦ'),
+ ('ⶨ', 'ⶮ'),
+ ('ⶰ', 'ⶶ'),
+ ('ⶸ', 'ⶾ'),
+ ('ⷀ', 'ⷆ'),
+ ('ⷈ', 'ⷎ'),
+ ('ⷐ', 'ⷖ'),
+ ('ⷘ', 'ⷞ'),
+ ('ⸯ', 'ⸯ'),
+ ('々', '々'),
+ ('〻', '〼'),
+ ('ㄅ', 'ㄯ'),
+ ('ㄱ', 'ㆎ'),
+ ('ㆠ', 'ㆿ'),
+ ('ꀀ', 'ꒌ'),
+ ('ꓐ', 'ꓽ'),
+ ('ꔀ', 'ꘌ'),
+ ('ꘐ', 'ꘟ'),
+ ('ꘪ', 'ꘫ'),
+ ('Ꙁ', 'ꙮ'),
+ ('ꙿ', 'ꚝ'),
+ ('ꚠ', 'ꛯ'),
+ ('꜈', 'ꟊ'),
+ ('Ꟑ', 'ꟑ'),
+ ('ꟓ', 'ꟓ'),
+ ('ꟕ', 'ꟙ'),
+ ('ꟲ', 'ꠁ'),
+ ('ꠃ', 'ꠅ'),
+ ('ꠇ', 'ꠊ'),
+ ('ꠌ', 'ꠢ'),
+ ('ꡀ', 'ꡳ'),
+ ('ꢂ', 'ꢳ'),
+ ('ꣲ', 'ꣷ'),
+ ('ꣻ', 'ꣻ'),
+ ('ꣽ', 'ꣾ'),
+ ('ꤊ', 'ꤥ'),
+ ('ꤰ', 'ꥆ'),
+ ('ꥠ', 'ꥼ'),
+ ('ꦄ', 'ꦲ'),
+ ('ꧏ', 'ꧏ'),
+ ('ꨀ', 'ꨨ'),
+ ('ꩀ', 'ꩂ'),
+ ('ꩄ', 'ꩋ'),
+ ('ꫠ', 'ꫪ'),
+ ('ꫲ', 'ꫴ'),
+ ('ꬁ', 'ꬆ'),
+ ('ꬉ', 'ꬎ'),
+ ('ꬑ', 'ꬖ'),
+ ('ꬠ', 'ꬦ'),
+ ('ꬨ', 'ꬮ'),
+ ('ꬰ', 'ꭩ'),
+ ('ꭰ', 'ꯢ'),
+ ('가', '힣'),
+ ('ힰ', 'ퟆ'),
+ ('ퟋ', 'ퟻ'),
+ ('ff', 'st'),
+ ('ﬓ', 'ﬗ'),
+ ('ﭐ', 'ﮱ'),
+ ('ﯓ', 'ﴽ'),
+ ('ﵐ', 'ﶏ'),
+ ('ﶒ', 'ﷇ'),
+ ('ﷰ', 'ﷻ'),
+ ('ﹰ', 'ﹴ'),
+ ('ﹶ', 'ﻼ'),
+ ('A', 'Z'),
+ ('a', 'z'),
+ ('ᅠ', 'ᄒ'),
+ ('ᅡ', 'ᅦ'),
+ ('ᅧ', 'ᅬ'),
+ ('ᅭ', 'ᅲ'),
+ ('ᅳ', 'ᅵ'),
+ ('𐀀', '𐀋'),
+ ('𐀍', '𐀦'),
+ ('𐀨', '𐀺'),
+ ('𐀼', '𐀽'),
+ ('𐀿', '𐁍'),
+ ('𐁐', '𐁝'),
+ ('𐂀', '𐃺'),
+ ('𐅀', '𐅴'),
+ ('𐊀', '𐊜'),
+ ('𐊠', '𐋐'),
+ ('𐌀', '𐌟'),
+ ('𐌭', '𐍊'),
+ ('𐍐', '𐍵'),
+ ('𐎀', '𐎝'),
+ ('𐎠', '𐏃'),
+ ('𐏈', '𐏏'),
+ ('𐏑', '𐏕'),
+ ('𐐀', '𐒝'),
+ ('𐒰', '𐓓'),
+ ('𐓘', '𐓻'),
+ ('𐔀', '𐔧'),
+ ('𐔰', '𐕣'),
+ ('𐕰', '𐕺'),
+ ('𐕼', '𐖊'),
+ ('𐖌', '𐖒'),
+ ('𐖔', '𐖕'),
+ ('𐖗', '𐖡'),
+ ('𐖣', '𐖱'),
+ ('𐖳', '𐖹'),
+ ('𐖻', '𐖼'),
+ ('𐘀', '𐜶'),
+ ('𐝀', '𐝕'),
+ ('𐝠', '𐝧'),
+ ('𐞀', '𐞅'),
+ ('𐞇', '𐞰'),
+ ('𐞲', '𐞺'),
+ ('𐠀', '𐠅'),
+ ('𐠈', '𐠈'),
+ ('𐠊', '𐠵'),
+ ('𐠷', '𐠸'),
+ ('𐠼', '𐠼'),
+ ('𐠿', '𐡕'),
+ ('𐡠', '𐡶'),
+ ('𐢀', '𐢞'),
+ ('𐣠', '𐣲'),
+ ('𐣴', '𐣵'),
+ ('𐤀', '𐤕'),
+ ('𐤠', '𐤹'),
+ ('𐦀', '𐦷'),
+ ('𐦾', '𐦿'),
+ ('𐨀', '𐨀'),
+ ('𐨐', '𐨓'),
+ ('𐨕', '𐨗'),
+ ('𐨙', '𐨵'),
+ ('𐩠', '𐩼'),
+ ('𐪀', '𐪜'),
+ ('𐫀', '𐫇'),
+ ('𐫉', '𐫤'),
+ ('𐬀', '𐬵'),
+ ('𐭀', '𐭕'),
+ ('𐭠', '𐭲'),
+ ('𐮀', '𐮑'),
+ ('𐰀', '𐱈'),
+ ('𐲀', '𐲲'),
+ ('𐳀', '𐳲'),
+ ('𐴀', '𐴣'),
+ ('𐺀', '𐺩'),
+ ('𐺰', '𐺱'),
+ ('𐼀', '𐼜'),
+ ('𐼧', '𐼧'),
+ ('𐼰', '𐽅'),
+ ('𐽰', '𐾁'),
+ ('𐾰', '𐿄'),
+ ('𐿠', '𐿶'),
+ ('𑀃', '𑀷'),
+ ('𑁱', '𑁲'),
+ ('𑁵', '𑁵'),
+ ('𑂃', '𑂯'),
+ ('𑃐', '𑃨'),
+ ('𑄃', '𑄦'),
+ ('𑅄', '𑅄'),
+ ('𑅇', '𑅇'),
+ ('𑅐', '𑅲'),
+ ('𑅶', '𑅶'),
+ ('𑆃', '𑆲'),
+ ('𑇁', '𑇄'),
+ ('𑇚', '𑇚'),
+ ('𑇜', '𑇜'),
+ ('𑈀', '𑈑'),
+ ('𑈓', '𑈫'),
+ ('𑈿', '𑉀'),
+ ('𑊀', '𑊆'),
+ ('𑊈', '𑊈'),
+ ('𑊊', '𑊍'),
+ ('𑊏', '𑊝'),
+ ('𑊟', '𑊨'),
+ ('𑊰', '𑋞'),
+ ('𑌅', '𑌌'),
+ ('𑌏', '𑌐'),
+ ('𑌓', '𑌨'),
+ ('𑌪', '𑌰'),
+ ('𑌲', '𑌳'),
+ ('𑌵', '𑌹'),
+ ('𑌽', '𑌽'),
+ ('𑍐', '𑍐'),
+ ('𑍝', '𑍡'),
+ ('𑐀', '𑐴'),
+ ('𑑇', '𑑊'),
+ ('𑑟', '𑑡'),
+ ('𑒀', '𑒯'),
+ ('𑓄', '𑓅'),
+ ('𑓇', '𑓇'),
+ ('𑖀', '𑖮'),
+ ('𑗘', '𑗛'),
+ ('𑘀', '𑘯'),
+ ('𑙄', '𑙄'),
+ ('𑚀', '𑚪'),
+ ('𑚸', '𑚸'),
+ ('𑠀', '𑠫'),
+ ('𑢠', '𑣟'),
+ ('𑣿', '𑤆'),
+ ('𑤉', '𑤉'),
+ ('𑤌', '𑤓'),
+ ('𑤕', '𑤖'),
+ ('𑤘', '𑤯'),
+ ('𑤿', '𑤿'),
+ ('𑥁', '𑥁'),
+ ('𑦠', '𑦧'),
+ ('𑦪', '𑧐'),
+ ('𑧡', '𑧡'),
+ ('𑧣', '𑧣'),
+ ('𑨀', '𑨀'),
+ ('𑨋', '𑨲'),
+ ('𑨺', '𑨺'),
+ ('𑩐', '𑩐'),
+ ('𑩜', '𑪉'),
+ ('𑪝', '𑪝'),
+ ('𑪰', '𑫸'),
+ ('𑰀', '𑰈'),
+ ('𑰊', '𑰮'),
+ ('𑱀', '𑱀'),
+ ('𑱲', '𑲏'),
+ ('𑴀', '𑴆'),
+ ('𑴈', '𑴉'),
+ ('𑴋', '𑴰'),
+ ('𑵆', '𑵆'),
+ ('𑵠', '𑵥'),
+ ('𑵧', '𑵨'),
+ ('𑵪', '𑶉'),
+ ('𑶘', '𑶘'),
+ ('𑻠', '𑻲'),
+ ('𑼂', '𑼂'),
+ ('𑼄', '𑼐'),
+ ('𑼒', '𑼳'),
+ ('𑾰', '𑾰'),
+ ('𒀀', '𒎙'),
+ ('𒐀', '𒑮'),
+ ('𒒀', '𒕃'),
+ ('𒾐', '𒿰'),
+ ('𓀀', '𓐯'),
+ ('𓑁', '𓑆'),
+ ('𔐀', '𔙆'),
+ ('𖠀', '𖨸'),
+ ('𖩀', '𖩞'),
+ ('𖩰', '𖪾'),
+ ('𖫐', '𖫭'),
+ ('𖬀', '𖬯'),
+ ('𖭀', '𖭃'),
+ ('𖭣', '𖭷'),
+ ('𖭽', '𖮏'),
+ ('𖹀', '𖹿'),
+ ('𖼀', '𖽊'),
+ ('𖽐', '𖽐'),
+ ('𖾓', '𖾟'),
+ ('𖿠', '𖿡'),
+ ('𖿣', '𖿣'),
+ ('𛰀', '𛱪'),
+ ('𛱰', '𛱼'),
+ ('𛲀', '𛲈'),
+ ('𛲐', '𛲙'),
+ ('𝐀', '𝑔'),
+ ('𝑖', '𝒜'),
+ ('𝒞', '𝒟'),
+ ('𝒢', '𝒢'),
+ ('𝒥', '𝒦'),
+ ('𝒩', '𝒬'),
+ ('𝒮', '𝒹'),
+ ('𝒻', '𝒻'),
+ ('𝒽', '𝓃'),
+ ('𝓅', '𝔅'),
+ ('𝔇', '𝔊'),
+ ('𝔍', '𝔔'),
+ ('𝔖', '𝔜'),
+ ('𝔞', '𝔹'),
+ ('𝔻', '𝔾'),
+ ('𝕀', '𝕄'),
+ ('𝕆', '𝕆'),
+ ('𝕊', '𝕐'),
+ ('𝕒', '𝚥'),
+ ('𝚨', '𝛀'),
+ ('𝛂', '𝛚'),
+ ('𝛜', '𝛺'),
+ ('𝛼', '𝜔'),
+ ('𝜖', '𝜴'),
+ ('𝜶', '𝝎'),
+ ('𝝐', '𝝮'),
+ ('𝝰', '𝞈'),
+ ('𝞊', '𝞨'),
+ ('𝞪', '𝟂'),
+ ('𝟄', '𝟋'),
+ ('𝼀', '𝼞'),
+ ('𝼥', '𝼪'),
+ ('𞀰', '𞁭'),
+ ('𞄀', '𞄬'),
+ ('𞄷', '𞄽'),
+ ('𞅎', '𞅎'),
+ ('𞊐', '𞊭'),
+ ('𞋀', '𞋫'),
+ ('𞓐', '𞓫'),
+ ('𞟠', '𞟦'),
+ ('𞟨', '𞟫'),
+ ('𞟭', '𞟮'),
+ ('𞟰', '𞟾'),
+ ('𞠀', '𞣄'),
+ ('𞤀', '𞥃'),
+ ('𞥋', '𞥋'),
+ ('𞸀', '𞸃'),
+ ('𞸅', '𞸟'),
+ ('𞸡', '𞸢'),
+ ('𞸤', '𞸤'),
+ ('𞸧', '𞸧'),
+ ('𞸩', '𞸲'),
+ ('𞸴', '𞸷'),
+ ('𞸹', '𞸹'),
+ ('𞸻', '𞸻'),
+ ('𞹂', '𞹂'),
+ ('𞹇', '𞹇'),
+ ('𞹉', '𞹉'),
+ ('𞹋', '𞹋'),
+ ('𞹍', '𞹏'),
+ ('𞹑', '𞹒'),
+ ('𞹔', '𞹔'),
+ ('𞹗', '𞹗'),
+ ('𞹙', '𞹙'),
+ ('𞹛', '𞹛'),
+ ('𞹝', '𞹝'),
+ ('𞹟', '𞹟'),
+ ('𞹡', '𞹢'),
+ ('𞹤', '𞹤'),
+ ('𞹧', '𞹪'),
+ ('𞹬', '𞹲'),
+ ('𞹴', '𞹷'),
+ ('𞹹', '𞹼'),
+ ('𞹾', '𞹾'),
+ ('𞺀', '𞺉'),
+ ('𞺋', '𞺛'),
+ ('𞺡', '𞺣'),
+ ('𞺥', '𞺩'),
+ ('𞺫', '𞺻'),
+ ('🄰', '🅉'),
+ ('🅐', '🅩'),
+ ('🅰', '🆉'),
+];
+
+pub const CR: &'static [(char, char)] = &[('\r', '\r')];
+
+pub const DOUBLE_QUOTE: &'static [(char, char)] = &[('"', '"')];
+
+pub const EXTEND: &'static [(char, char)] = &[
+ ('\u{300}', '\u{36f}'),
+ ('\u{483}', '\u{489}'),
+ ('\u{591}', '\u{5bd}'),
+ ('\u{5bf}', '\u{5bf}'),
+ ('\u{5c1}', '\u{5c2}'),
+ ('\u{5c4}', '\u{5c5}'),
+ ('\u{5c7}', '\u{5c7}'),
+ ('\u{610}', '\u{61a}'),
+ ('\u{64b}', '\u{65f}'),
+ ('\u{670}', '\u{670}'),
+ ('\u{6d6}', '\u{6dc}'),
+ ('\u{6df}', '\u{6e4}'),
+ ('\u{6e7}', '\u{6e8}'),
+ ('\u{6ea}', '\u{6ed}'),
+ ('\u{711}', '\u{711}'),
+ ('\u{730}', '\u{74a}'),
+ ('\u{7a6}', '\u{7b0}'),
+ ('\u{7eb}', '\u{7f3}'),
+ ('\u{7fd}', '\u{7fd}'),
+ ('\u{816}', '\u{819}'),
+ ('\u{81b}', '\u{823}'),
+ ('\u{825}', '\u{827}'),
+ ('\u{829}', '\u{82d}'),
+ ('\u{859}', '\u{85b}'),
+ ('\u{898}', '\u{89f}'),
+ ('\u{8ca}', '\u{8e1}'),
+ ('\u{8e3}', 'ः'),
+ ('\u{93a}', '\u{93c}'),
+ ('ा', 'ॏ'),
+ ('\u{951}', '\u{957}'),
+ ('\u{962}', '\u{963}'),
+ ('\u{981}', 'ঃ'),
+ ('\u{9bc}', '\u{9bc}'),
+ ('\u{9be}', '\u{9c4}'),
+ ('ে', 'ৈ'),
+ ('ো', '\u{9cd}'),
+ ('\u{9d7}', '\u{9d7}'),
+ ('\u{9e2}', '\u{9e3}'),
+ ('\u{9fe}', '\u{9fe}'),
+ ('\u{a01}', 'ਃ'),
+ ('\u{a3c}', '\u{a3c}'),
+ ('ਾ', '\u{a42}'),
+ ('\u{a47}', '\u{a48}'),
+ ('\u{a4b}', '\u{a4d}'),
+ ('\u{a51}', '\u{a51}'),
+ ('\u{a70}', '\u{a71}'),
+ ('\u{a75}', '\u{a75}'),
+ ('\u{a81}', 'ઃ'),
+ ('\u{abc}', '\u{abc}'),
+ ('ા', '\u{ac5}'),
+ ('\u{ac7}', 'ૉ'),
+ ('ો', '\u{acd}'),
+ ('\u{ae2}', '\u{ae3}'),
+ ('\u{afa}', '\u{aff}'),
+ ('\u{b01}', 'ଃ'),
+ ('\u{b3c}', '\u{b3c}'),
+ ('\u{b3e}', '\u{b44}'),
+ ('େ', 'ୈ'),
+ ('ୋ', '\u{b4d}'),
+ ('\u{b55}', '\u{b57}'),
+ ('\u{b62}', '\u{b63}'),
+ ('\u{b82}', '\u{b82}'),
+ ('\u{bbe}', 'ூ'),
+ ('ெ', 'ை'),
+ ('ொ', '\u{bcd}'),
+ ('\u{bd7}', '\u{bd7}'),
+ ('\u{c00}', '\u{c04}'),
+ ('\u{c3c}', '\u{c3c}'),
+ ('\u{c3e}', 'ౄ'),
+ ('\u{c46}', '\u{c48}'),
+ ('\u{c4a}', '\u{c4d}'),
+ ('\u{c55}', '\u{c56}'),
+ ('\u{c62}', '\u{c63}'),
+ ('\u{c81}', 'ಃ'),
+ ('\u{cbc}', '\u{cbc}'),
+ ('ಾ', 'ೄ'),
+ ('\u{cc6}', 'ೈ'),
+ ('ೊ', '\u{ccd}'),
+ ('\u{cd5}', '\u{cd6}'),
+ ('\u{ce2}', '\u{ce3}'),
+ ('ೳ', 'ೳ'),
+ ('\u{d00}', 'ഃ'),
+ ('\u{d3b}', '\u{d3c}'),
+ ('\u{d3e}', '\u{d44}'),
+ ('െ', 'ൈ'),
+ ('ൊ', '\u{d4d}'),
+ ('\u{d57}', '\u{d57}'),
+ ('\u{d62}', '\u{d63}'),
+ ('\u{d81}', 'ඃ'),
+ ('\u{dca}', '\u{dca}'),
+ ('\u{dcf}', '\u{dd4}'),
+ ('\u{dd6}', '\u{dd6}'),
+ ('ෘ', '\u{ddf}'),
+ ('ෲ', 'ෳ'),
+ ('\u{e31}', '\u{e31}'),
+ ('\u{e34}', '\u{e3a}'),
+ ('\u{e47}', '\u{e4e}'),
+ ('\u{eb1}', '\u{eb1}'),
+ ('\u{eb4}', '\u{ebc}'),
+ ('\u{ec8}', '\u{ece}'),
+ ('\u{f18}', '\u{f19}'),
+ ('\u{f35}', '\u{f35}'),
+ ('\u{f37}', '\u{f37}'),
+ ('\u{f39}', '\u{f39}'),
+ ('༾', '༿'),
+ ('\u{f71}', '\u{f84}'),
+ ('\u{f86}', '\u{f87}'),
+ ('\u{f8d}', '\u{f97}'),
+ ('\u{f99}', '\u{fbc}'),
+ ('\u{fc6}', '\u{fc6}'),
+ ('ါ', '\u{103e}'),
+ ('ၖ', '\u{1059}'),
+ ('\u{105e}', '\u{1060}'),
+ ('ၢ', 'ၤ'),
+ ('ၧ', 'ၭ'),
+ ('\u{1071}', '\u{1074}'),
+ ('\u{1082}', '\u{108d}'),
+ ('ႏ', 'ႏ'),
+ ('ႚ', '\u{109d}'),
+ ('\u{135d}', '\u{135f}'),
+ ('\u{1712}', '᜕'),
+ ('\u{1732}', '᜴'),
+ ('\u{1752}', '\u{1753}'),
+ ('\u{1772}', '\u{1773}'),
+ ('\u{17b4}', '\u{17d3}'),
+ ('\u{17dd}', '\u{17dd}'),
+ ('\u{180b}', '\u{180d}'),
+ ('\u{180f}', '\u{180f}'),
+ ('\u{1885}', '\u{1886}'),
+ ('\u{18a9}', '\u{18a9}'),
+ ('\u{1920}', 'ᤫ'),
+ ('ᤰ', '\u{193b}'),
+ ('\u{1a17}', '\u{1a1b}'),
+ ('ᩕ', '\u{1a5e}'),
+ ('\u{1a60}', '\u{1a7c}'),
+ ('\u{1a7f}', '\u{1a7f}'),
+ ('\u{1ab0}', '\u{1ace}'),
+ ('\u{1b00}', 'ᬄ'),
+ ('\u{1b34}', '᭄'),
+ ('\u{1b6b}', '\u{1b73}'),
+ ('\u{1b80}', 'ᮂ'),
+ ('ᮡ', '\u{1bad}'),
+ ('\u{1be6}', '᯳'),
+ ('ᰤ', '\u{1c37}'),
+ ('\u{1cd0}', '\u{1cd2}'),
+ ('\u{1cd4}', '\u{1ce8}'),
+ ('\u{1ced}', '\u{1ced}'),
+ ('\u{1cf4}', '\u{1cf4}'),
+ ('᳷', '\u{1cf9}'),
+ ('\u{1dc0}', '\u{1dff}'),
+ ('\u{200c}', '\u{200c}'),
+ ('\u{20d0}', '\u{20f0}'),
+ ('\u{2cef}', '\u{2cf1}'),
+ ('\u{2d7f}', '\u{2d7f}'),
+ ('\u{2de0}', '\u{2dff}'),
+ ('\u{302a}', '\u{302f}'),
+ ('\u{3099}', '\u{309a}'),
+ ('\u{a66f}', '\u{a672}'),
+ ('\u{a674}', '\u{a67d}'),
+ ('\u{a69e}', '\u{a69f}'),
+ ('\u{a6f0}', '\u{a6f1}'),
+ ('\u{a802}', '\u{a802}'),
+ ('\u{a806}', '\u{a806}'),
+ ('\u{a80b}', '\u{a80b}'),
+ ('ꠣ', 'ꠧ'),
+ ('\u{a82c}', '\u{a82c}'),
+ ('ꢀ', 'ꢁ'),
+ ('ꢴ', '\u{a8c5}'),
+ ('\u{a8e0}', '\u{a8f1}'),
+ ('\u{a8ff}', '\u{a8ff}'),
+ ('\u{a926}', '\u{a92d}'),
+ ('\u{a947}', '꥓'),
+ ('\u{a980}', 'ꦃ'),
+ ('\u{a9b3}', '꧀'),
+ ('\u{a9e5}', '\u{a9e5}'),
+ ('\u{aa29}', '\u{aa36}'),
+ ('\u{aa43}', '\u{aa43}'),
+ ('\u{aa4c}', 'ꩍ'),
+ ('ꩻ', 'ꩽ'),
+ ('\u{aab0}', '\u{aab0}'),
+ ('\u{aab2}', '\u{aab4}'),
+ ('\u{aab7}', '\u{aab8}'),
+ ('\u{aabe}', '\u{aabf}'),
+ ('\u{aac1}', '\u{aac1}'),
+ ('ꫫ', 'ꫯ'),
+ ('ꫵ', '\u{aaf6}'),
+ ('ꯣ', 'ꯪ'),
+ ('꯬', '\u{abed}'),
+ ('\u{fb1e}', '\u{fb1e}'),
+ ('\u{fe00}', '\u{fe0f}'),
+ ('\u{fe20}', '\u{fe2f}'),
+ ('\u{ff9e}', '\u{ff9f}'),
+ ('\u{101fd}', '\u{101fd}'),
+ ('\u{102e0}', '\u{102e0}'),
+ ('\u{10376}', '\u{1037a}'),
+ ('\u{10a01}', '\u{10a03}'),
+ ('\u{10a05}', '\u{10a06}'),
+ ('\u{10a0c}', '\u{10a0f}'),
+ ('\u{10a38}', '\u{10a3a}'),
+ ('\u{10a3f}', '\u{10a3f}'),
+ ('\u{10ae5}', '\u{10ae6}'),
+ ('\u{10d24}', '\u{10d27}'),
+ ('\u{10eab}', '\u{10eac}'),
+ ('\u{10efd}', '\u{10eff}'),
+ ('\u{10f46}', '\u{10f50}'),
+ ('\u{10f82}', '\u{10f85}'),
+ ('𑀀', '𑀂'),
+ ('\u{11038}', '\u{11046}'),
+ ('\u{11070}', '\u{11070}'),
+ ('\u{11073}', '\u{11074}'),
+ ('\u{1107f}', '𑂂'),
+ ('𑂰', '\u{110ba}'),
+ ('\u{110c2}', '\u{110c2}'),
+ ('\u{11100}', '\u{11102}'),
+ ('\u{11127}', '\u{11134}'),
+ ('𑅅', '𑅆'),
+ ('\u{11173}', '\u{11173}'),
+ ('\u{11180}', '𑆂'),
+ ('𑆳', '𑇀'),
+ ('\u{111c9}', '\u{111cc}'),
+ ('𑇎', '\u{111cf}'),
+ ('𑈬', '\u{11237}'),
+ ('\u{1123e}', '\u{1123e}'),
+ ('\u{11241}', '\u{11241}'),
+ ('\u{112df}', '\u{112ea}'),
+ ('\u{11300}', '𑌃'),
+ ('\u{1133b}', '\u{1133c}'),
+ ('\u{1133e}', '𑍄'),
+ ('𑍇', '𑍈'),
+ ('𑍋', '𑍍'),
+ ('\u{11357}', '\u{11357}'),
+ ('𑍢', '𑍣'),
+ ('\u{11366}', '\u{1136c}'),
+ ('\u{11370}', '\u{11374}'),
+ ('𑐵', '\u{11446}'),
+ ('\u{1145e}', '\u{1145e}'),
+ ('\u{114b0}', '\u{114c3}'),
+ ('\u{115af}', '\u{115b5}'),
+ ('𑖸', '\u{115c0}'),
+ ('\u{115dc}', '\u{115dd}'),
+ ('𑘰', '\u{11640}'),
+ ('\u{116ab}', '\u{116b7}'),
+ ('\u{1171d}', '\u{1172b}'),
+ ('𑠬', '\u{1183a}'),
+ ('\u{11930}', '𑤵'),
+ ('𑤷', '𑤸'),
+ ('\u{1193b}', '\u{1193e}'),
+ ('𑥀', '𑥀'),
+ ('𑥂', '\u{11943}'),
+ ('𑧑', '\u{119d7}'),
+ ('\u{119da}', '\u{119e0}'),
+ ('𑧤', '𑧤'),
+ ('\u{11a01}', '\u{11a0a}'),
+ ('\u{11a33}', '𑨹'),
+ ('\u{11a3b}', '\u{11a3e}'),
+ ('\u{11a47}', '\u{11a47}'),
+ ('\u{11a51}', '\u{11a5b}'),
+ ('\u{11a8a}', '\u{11a99}'),
+ ('𑰯', '\u{11c36}'),
+ ('\u{11c38}', '\u{11c3f}'),
+ ('\u{11c92}', '\u{11ca7}'),
+ ('𑲩', '\u{11cb6}'),
+ ('\u{11d31}', '\u{11d36}'),
+ ('\u{11d3a}', '\u{11d3a}'),
+ ('\u{11d3c}', '\u{11d3d}'),
+ ('\u{11d3f}', '\u{11d45}'),
+ ('\u{11d47}', '\u{11d47}'),
+ ('𑶊', '𑶎'),
+ ('\u{11d90}', '\u{11d91}'),
+ ('𑶓', '\u{11d97}'),
+ ('\u{11ef3}', '𑻶'),
+ ('\u{11f00}', '\u{11f01}'),
+ ('𑼃', '𑼃'),
+ ('𑼴', '\u{11f3a}'),
+ ('𑼾', '\u{11f42}'),
+ ('\u{13440}', '\u{13440}'),
+ ('\u{13447}', '\u{13455}'),
+ ('\u{16af0}', '\u{16af4}'),
+ ('\u{16b30}', '\u{16b36}'),
+ ('\u{16f4f}', '\u{16f4f}'),
+ ('𖽑', '𖾇'),
+ ('\u{16f8f}', '\u{16f92}'),
+ ('\u{16fe4}', '\u{16fe4}'),
+ ('𖿰', '𖿱'),
+ ('\u{1bc9d}', '\u{1bc9e}'),
+ ('\u{1cf00}', '\u{1cf2d}'),
+ ('\u{1cf30}', '\u{1cf46}'),
+ ('\u{1d165}', '\u{1d169}'),
+ ('𝅭', '\u{1d172}'),
+ ('\u{1d17b}', '\u{1d182}'),
+ ('\u{1d185}', '\u{1d18b}'),
+ ('\u{1d1aa}', '\u{1d1ad}'),
+ ('\u{1d242}', '\u{1d244}'),
+ ('\u{1da00}', '\u{1da36}'),
+ ('\u{1da3b}', '\u{1da6c}'),
+ ('\u{1da75}', '\u{1da75}'),
+ ('\u{1da84}', '\u{1da84}'),
+ ('\u{1da9b}', '\u{1da9f}'),
+ ('\u{1daa1}', '\u{1daaf}'),
+ ('\u{1e000}', '\u{1e006}'),
+ ('\u{1e008}', '\u{1e018}'),
+ ('\u{1e01b}', '\u{1e021}'),
+ ('\u{1e023}', '\u{1e024}'),
+ ('\u{1e026}', '\u{1e02a}'),
+ ('\u{1e08f}', '\u{1e08f}'),
+ ('\u{1e130}', '\u{1e136}'),
+ ('\u{1e2ae}', '\u{1e2ae}'),
+ ('\u{1e2ec}', '\u{1e2ef}'),
+ ('\u{1e4ec}', '\u{1e4ef}'),
+ ('\u{1e8d0}', '\u{1e8d6}'),
+ ('\u{1e944}', '\u{1e94a}'),
+ ('🏻', '🏿'),
+ ('\u{e0020}', '\u{e007f}'),
+ ('\u{e0100}', '\u{e01ef}'),
+];
+
+pub const EXTENDNUMLET: &'static [(char, char)] = &[
+ ('_', '_'),
+ ('\u{202f}', '\u{202f}'),
+ ('‿', '⁀'),
+ ('⁔', '⁔'),
+ ('︳', '︴'),
+ ('﹍', '﹏'),
+ ('_', '_'),
+];
+
+pub const FORMAT: &'static [(char, char)] = &[
+ ('\u{ad}', '\u{ad}'),
+ ('\u{600}', '\u{605}'),
+ ('\u{61c}', '\u{61c}'),
+ ('\u{6dd}', '\u{6dd}'),
+ ('\u{70f}', '\u{70f}'),
+ ('\u{890}', '\u{891}'),
+ ('\u{8e2}', '\u{8e2}'),
+ ('\u{180e}', '\u{180e}'),
+ ('\u{200e}', '\u{200f}'),
+ ('\u{202a}', '\u{202e}'),
+ ('\u{2060}', '\u{2064}'),
+ ('\u{2066}', '\u{206f}'),
+ ('\u{feff}', '\u{feff}'),
+ ('\u{fff9}', '\u{fffb}'),
+ ('\u{110bd}', '\u{110bd}'),
+ ('\u{110cd}', '\u{110cd}'),
+ ('\u{13430}', '\u{1343f}'),
+ ('\u{1bca0}', '\u{1bca3}'),
+ ('\u{1d173}', '\u{1d17a}'),
+ ('\u{e0001}', '\u{e0001}'),
+];
+
+pub const HEBREW_LETTER: &'static [(char, char)] = &[
+ ('א', 'ת'),
+ ('ׯ', 'ײ'),
+ ('יִ', 'יִ'),
+ ('ײַ', 'ﬨ'),
+ ('שׁ', 'זּ'),
+ ('טּ', 'לּ'),
+ ('מּ', 'מּ'),
+ ('נּ', 'סּ'),
+ ('ףּ', 'פּ'),
+ ('צּ', 'ﭏ'),
+];
+
+pub const KATAKANA: &'static [(char, char)] = &[
+ ('〱', '〵'),
+ ('゛', '゜'),
+ ('゠', 'ヺ'),
+ ('ー', 'ヿ'),
+ ('ㇰ', 'ㇿ'),
+ ('㋐', '㋾'),
+ ('㌀', '㍗'),
+ ('ヲ', 'ン'),
+ ('𚿰', '𚿳'),
+ ('𚿵', '𚿻'),
+ ('𚿽', '𚿾'),
+ ('𛀀', '𛀀'),
+ ('𛄠', '𛄢'),
+ ('𛅕', '𛅕'),
+ ('𛅤', '𛅧'),
+];
+
+pub const LF: &'static [(char, char)] = &[('\n', '\n')];
+
+pub const MIDLETTER: &'static [(char, char)] = &[
+ (':', ':'),
+ ('·', '·'),
+ ('·', '·'),
+ ('՟', '՟'),
+ ('״', '״'),
+ ('‧', '‧'),
+ ('︓', '︓'),
+ ('﹕', '﹕'),
+ (':', ':'),
+];
+
+pub const MIDNUM: &'static [(char, char)] = &[
+ (',', ','),
+ (';', ';'),
+ (';', ';'),
+ ('։', '։'),
+ ('،', '؍'),
+ ('٬', '٬'),
+ ('߸', '߸'),
+ ('⁄', '⁄'),
+ ('︐', '︐'),
+ ('︔', '︔'),
+ ('﹐', '﹐'),
+ ('﹔', '﹔'),
+ (',', ','),
+ (';', ';'),
+];
+
+pub const MIDNUMLET: &'static [(char, char)] = &[
+ ('.', '.'),
+ ('‘', '’'),
+ ('․', '․'),
+ ('﹒', '﹒'),
+ (''', '''),
+ ('.', '.'),
+];
+
+pub const NEWLINE: &'static [(char, char)] =
+ &[('\u{b}', '\u{c}'), ('\u{85}', '\u{85}'), ('\u{2028}', '\u{2029}')];
+
+pub const NUMERIC: &'static [(char, char)] = &[
+ ('0', '9'),
+ ('٠', '٩'),
+ ('٫', '٫'),
+ ('۰', '۹'),
+ ('߀', '߉'),
+ ('०', '९'),
+ ('০', '৯'),
+ ('੦', '੯'),
+ ('૦', '૯'),
+ ('୦', '୯'),
+ ('௦', '௯'),
+ ('౦', '౯'),
+ ('೦', '೯'),
+ ('൦', '൯'),
+ ('෦', '෯'),
+ ('๐', '๙'),
+ ('໐', '໙'),
+ ('༠', '༩'),
+ ('၀', '၉'),
+ ('႐', '႙'),
+ ('០', '៩'),
+ ('᠐', '᠙'),
+ ('᥆', '᥏'),
+ ('᧐', '᧙'),
+ ('᪀', '᪉'),
+ ('᪐', '᪙'),
+ ('᭐', '᭙'),
+ ('᮰', '᮹'),
+ ('᱀', '᱉'),
+ ('᱐', '᱙'),
+ ('꘠', '꘩'),
+ ('꣐', '꣙'),
+ ('꤀', '꤉'),
+ ('꧐', '꧙'),
+ ('꧰', '꧹'),
+ ('꩐', '꩙'),
+ ('꯰', '꯹'),
+ ('0', '9'),
+ ('𐒠', '𐒩'),
+ ('𐴰', '𐴹'),
+ ('𑁦', '𑁯'),
+ ('𑃰', '𑃹'),
+ ('𑄶', '𑄿'),
+ ('𑇐', '𑇙'),
+ ('𑋰', '𑋹'),
+ ('𑑐', '𑑙'),
+ ('𑓐', '𑓙'),
+ ('𑙐', '𑙙'),
+ ('𑛀', '𑛉'),
+ ('𑜰', '𑜹'),
+ ('𑣠', '𑣩'),
+ ('𑥐', '𑥙'),
+ ('𑱐', '𑱙'),
+ ('𑵐', '𑵙'),
+ ('𑶠', '𑶩'),
+ ('𑽐', '𑽙'),
+ ('𖩠', '𖩩'),
+ ('𖫀', '𖫉'),
+ ('𖭐', '𖭙'),
+ ('𝟎', '𝟿'),
+ ('𞅀', '𞅉'),
+ ('𞋰', '𞋹'),
+ ('𞓰', '𞓹'),
+ ('𞥐', '𞥙'),
+ ('🯰', '🯹'),
+];
+
+pub const REGIONAL_INDICATOR: &'static [(char, char)] = &[('🇦', '🇿')];
+
+pub const SINGLE_QUOTE: &'static [(char, char)] = &[('\'', '\'')];
+
+pub const WSEGSPACE: &'static [(char, char)] = &[
+ (' ', ' '),
+ ('\u{1680}', '\u{1680}'),
+ ('\u{2000}', '\u{2006}'),
+ ('\u{2008}', '\u{200a}'),
+ ('\u{205f}', '\u{205f}'),
+ ('\u{3000}', '\u{3000}'),
+];
+
+pub const ZWJ: &'static [(char, char)] = &[('\u{200d}', '\u{200d}')];