diff --git a/.gitmodules b/.gitmodules
index 6ccb28f8a0..f7b3b45447 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,3 +22,6 @@
[submodule "vs-solutionpersistence"]
path = src/externalPackages/src/vs-solutionpersistence
url = https://github.com/microsoft/vs-solutionpersistence.git
+[submodule "spectre-console"]
+ path = src/externalPackages/src/spectre-console
+ url = https://github.com/spectreconsole/spectre.console
diff --git a/eng/Versions.props b/eng/Versions.props
index 3701162d28..480c23c28f 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -15,6 +15,7 @@
2.14.1
1.10.2
1.0.52
+ 0.52.0
diff --git a/eng/common/vmr-sync.sh b/eng/common/vmr-sync.sh
index 44239e331c..c038012a55 100755
--- a/eng/common/vmr-sync.sh
+++ b/eng/common/vmr-sync.sh
@@ -164,7 +164,7 @@ set -e
highlight 'Installing .NET, preparing the tooling..'
source "./eng/common/tools.sh"
InitializeDotNetCli true
-GetDarc
+GetDarc "1.1.0-beta.25514.2"
dotnetDir=$( cd ./.dotnet/; pwd -P )
dotnet=$dotnetDir/dotnet
diff --git a/src/externalPackages/patches/spectre-console/0001-Remove-PolySharp.patch b/src/externalPackages/patches/spectre-console/0001-Remove-PolySharp.patch
new file mode 100644
index 0000000000..82d54be574
--- /dev/null
+++ b/src/externalPackages/patches/spectre-console/0001-Remove-PolySharp.patch
@@ -0,0 +1,28 @@
+From dc5adfd1633f110e26c02693ca0b84b2e4c26a30 Mon Sep 17 00:00:00 2001
+From: Jonathan Peppers
+Date: Wed, 29 Oct 2025 21:19:22 +0000
+Subject: [PATCH] Remove PolySharp
+
+PolySharp is not available in source-build environments.
+---
+ src/Spectre.Console/Spectre.Console.csproj | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/Spectre.Console/Spectre.Console.csproj b/src/Spectre.Console/Spectre.Console.csproj
+index bb56ec6..ddfa90e 100644
+--- a/src/Spectre.Console/Spectre.Console.csproj
++++ b/src/Spectre.Console/Spectre.Console.csproj
+@@ -22,10 +22,6 @@
+
+ all
+
+-
+- all
+- runtime; build; native; contentfiles; analyzers
+-
+
+
+
+--
+2.47.3
+
diff --git a/src/externalPackages/projects/spectre-console.proj b/src/externalPackages/projects/spectre-console.proj
new file mode 100644
index 0000000000..bc96bad3ad
--- /dev/null
+++ b/src/externalPackages/projects/spectre-console.proj
@@ -0,0 +1,39 @@
+
+
+
+ $(ProjectDirectory)src/Spectre.Console/bin/$(Configuration)/
+ $(ProjectDirectory)global.json
+ true
+
+
+
+
+ $(ProjectDirectory)src/Spectre.Console/Spectre.Console.csproj
+ $(BuildCommandArgs) /p:Configuration=$(Configuration)
+ $(BuildCommandArgs) /p:DelaySign=$(DelaySign)
+ $(BuildCommandArgs) /p:PublicSign=$(PublicSign)
+ $(BuildCommandArgs) /v:$(LogVerbosity)
+ $(BuildCommandArgs) $(RedirectRepoOutputToLog)
+ $(BuildCommandArgs) /p:Version=$(SpectreConsoleReleaseVersion)
+ $(BuildCommandArgs) /p:TargetFrameworks=$(NetCurrent)
+ $(BuildCommandArgs) /p:UseBuildTimeTools=false
+ $(BuildCommandArgs) /p:IsAotCompatible=false
+
+
+
+
+
+
+
+
+
+
diff --git a/src/externalPackages/src/spectre-console b/src/externalPackages/src/spectre-console
new file mode 160000
index 0000000000..3c2156268c
--- /dev/null
+++ b/src/externalPackages/src/spectre-console
@@ -0,0 +1 @@
+Subproject commit 3c2156268ca56c3712c0c4b304b16ca52fee1c7f
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/Wcwidth.Sources.3.0.0.csproj b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/Wcwidth.Sources.3.0.0.csproj
new file mode 100644
index 0000000000..3d5a47a39a
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/Wcwidth.Sources.3.0.0.csproj
@@ -0,0 +1,9 @@
+
+
+
+ netstandard2.0
+ 3.0.0
+ Wcwidth.Sources
+
+
+
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Extensions/IntegerExtensions.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Extensions/IntegerExtensions.cs
new file mode 100755
index 0000000000..71c01fd118
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Extensions/IntegerExtensions.cs
@@ -0,0 +1,48 @@
+using System;
+
+namespace Wcwidth
+{
+ internal static class IntegerExtensions
+ {
+ public static bool Exist(this uint[,] table, uint value)
+ {
+ return Find(table, value) != 0;
+ }
+
+ public static int Find(this uint[,] table, uint value)
+ {
+ if (table is null)
+ {
+ throw new ArgumentNullException(nameof(table));
+ }
+
+ var min = 0;
+ var max = table.GetUpperBound(0);
+ int mid;
+
+ if (value < table[0, 0] || value > table[max, 1])
+ {
+ return 0;
+ }
+
+ while (max >= min)
+ {
+ mid = (min + max) / 2;
+ if (value > table[mid, 1])
+ {
+ min = mid + 1;
+ }
+ else if (value < table[mid, 0])
+ {
+ max = mid - 1;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+
+ return 0;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/WideTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/WideTable.Generated.cs
new file mode 100755
index 0000000000..4586145f71
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/WideTable.Generated.cs
@@ -0,0 +1,1817 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FC3 },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01F200, 0x01F200 },
+ { 0x01F210, 0x01F231 },
+ { 0x01F240, 0x01F248 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02F73F },
+ { 0x02B740, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE0 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F6 },
+ { 0x01F910, 0x01F91E },
+ { 0x01F920, 0x01F927 },
+ { 0x01F930, 0x01F930 },
+ { 0x01F933, 0x01F93E },
+ { 0x01F940, 0x01F94B },
+ { 0x01F950, 0x01F95E },
+ { 0x01F980, 0x01F991 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312E },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F8 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F94C },
+ { 0x01F950, 0x01F96B },
+ { 0x01F980, 0x01F997 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x01F9D0, 0x01F9E6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187F1 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F9 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F970 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F97A },
+ { 0x01F97C, 0x01F9A2 },
+ { 0x01F9B0, 0x01F9B9 },
+ { 0x01F9C0, 0x01F9C2 },
+ { 0x01F9D0, 0x01F9FF },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F978 },
+ { 0x01F97A, 0x01F9CB },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAA8 },
+ { 0x01FAB0, 0x01FAB6 },
+ { 0x01FAC0, 0x01FAC2 },
+ { 0x01FAD0, 0x01FAD6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DD, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7C },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAAC },
+ { 0x01FAB0, 0x01FABA },
+ { 0x01FAC0, 0x01FAC5 },
+ { 0x01FAD0, 0x01FAD9 },
+ { 0x01FAE0, 0x01FAE7 },
+ { 0x01FAF0, 0x01FAF6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018CFF, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA89 },
+ { 0x01FA8F, 0x01FAC6 },
+ { 0x01FACE, 0x01FADC },
+ { 0x01FADF, 0x01FAE9 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF6 },
+ { 0x017000, 0x018CD5 },
+ { 0x018CFF, 0x018D1E },
+ { 0x018D80, 0x018DF2 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D8 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA8A },
+ { 0x01FA8E, 0x01FAC6 },
+ { 0x01FAC8, 0x01FAC8 },
+ { 0x01FACD, 0x01FADC },
+ { 0x01FADF, 0x01FAEA },
+ { 0x01FAEF, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/WideTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/WideTable.cs
new file mode 100755
index 0000000000..0bfe1f6025
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/WideTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static WideTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/ZeroTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
new file mode 100755
index 0000000000..392afff179
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
@@ -0,0 +1,5898 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005B9 },
+ { 0x0005BB, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001DC0, 0x001DC3 },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EB },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001DC0, 0x001DCA },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000900, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000955 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFD, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2D },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011301, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011A01, 0x011A06 },
+ { 0x011A09, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001AC0 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFC, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ADD },
+ { 0x001AE0, 0x001AEB },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFA, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011B60, 0x011B60 },
+ { 0x011B62, 0x011B64 },
+ { 0x011B66, 0x011B66 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E6E3, 0x01E6E3 },
+ { 0x01E6E6, 0x01E6E6 },
+ { 0x01E6EE, 0x01E6EF },
+ { 0x01E6F5, 0x01E6F5 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/ZeroTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/ZeroTable.cs
new file mode 100755
index 0000000000..a365069666
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Tables/ZeroTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static ZeroTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Unicode.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Unicode.cs
new file mode 100755
index 0000000000..b78f6f7563
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/Unicode.cs
@@ -0,0 +1,149 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Wcwidth
+{
+ ///
+ /// Represents a Unicode version.
+ ///
+ [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores")]
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ enum Unicode
+ {
+ ///
+ /// Unicode version 4.1.0.
+ ///
+ [Description("4.1.0")]
+ Version_4_1_0,
+
+ ///
+ /// Unicode version 5.0.0.
+ ///
+ [Description("5.0.0")]
+ Version_5_0_0,
+
+ ///
+ /// Unicode version 5.1.0.
+ ///
+ [Description("5.1.0")]
+ Version_5_1_0,
+
+ ///
+ /// Unicode version 5.2.0.
+ ///
+ [Description("5.2.0")]
+ Version_5_2_0,
+
+ ///
+ /// Unicode version 6.0.0.
+ ///
+ [Description("6.0.0")]
+ Version_6_0_0,
+
+ ///
+ /// Unicode version 6.1.0.
+ ///
+ [Description("6.1.0")]
+ Version_6_1_0,
+
+ ///
+ /// Unicode version 6.2.0.
+ ///
+ [Description("6.2.0")]
+ Version_6_2_0,
+
+ ///
+ /// Unicode version 6.3.0.
+ ///
+ [Description("6.3.0")]
+ Version_6_3_0,
+
+ ///
+ /// Unicode version 7.0.0.
+ ///
+ [Description("7.0.0")]
+ Version_7_0_0,
+
+ ///
+ /// Unicode version 8.0.0.
+ ///
+ [Description("8.0.0")]
+ Version_8_0_0,
+
+ ///
+ /// Unicode version 9.0.0.
+ ///
+ [Description("9.0.0")]
+ Version_9_0_0,
+
+ ///
+ /// Unicode version 10.0.0.
+ ///
+ [Description("10.0.0")]
+ Version_10_0_0,
+
+ ///
+ /// Unicode version 11.0.0.
+ ///
+ [Description("11.0.0")]
+ Version_11_0_0,
+
+ ///
+ /// Unicode version 12.0.0.
+ ///
+ [Description("12.0.0")]
+ Version_12_0_0,
+
+ ///
+ /// Unicode version 12.1.0.
+ ///
+ [Description("12.1.0")]
+ Version_12_1_0,
+
+ ///
+ /// Unicode version 13.0.0.
+ ///
+ [Description("13.0.0")]
+ Version_13_0_0,
+
+ ///
+ /// Unicode version 14.0.0.
+ ///
+ [Description("14.0.0")]
+ Version_14_0_0,
+
+ ///
+ /// Unicode version 15.0.0.
+ ///
+ [Description("15.0.0")]
+ Version_15_0_0,
+
+ ///
+ /// Unicode version 15.1.0.
+ ///
+ [Description("15.1.0")]
+ Version_15_1_0,
+
+ ///
+ /// Unicode version 16.0.0.
+ ///
+ [Description("16.0.0")]
+ Version_16_0_0,
+
+ ///
+ /// Unicode version 17.0.0.
+ ///
+ [Description("17.0.0")]
+ Version_17_0_0,
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/UnicodeCalculator.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/UnicodeCalculator.cs
new file mode 100755
index 0000000000..bc9881da22
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net6.0/External/Wcwidth/UnicodeCalculator.cs
@@ -0,0 +1,153 @@
+// This is a port of the Python version of wcwidth() written by Jeff Quast,
+// which originally was written by Markus Kuhn.
+//
+// https://github.com/jquast/wcwidth
+// http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+//
+// In fixed-width output devices, Latin characters all occupy a single "cell" position
+// of equal width, whereas ideographic CJK characters occupy two such cells. Interoperability
+// between terminal-line applications and (teletype-style) character terminals using the
+// UTF-8 encoding requires agreement on which character should advance the cursor by how
+// many cell positions. No established formal standards exist at present on which Unicode
+// character shall occupy how many cell positions on character terminals. These routines
+// are a first attempt of defining such behavior based on simple rules applied to data
+// provided by the Unicode Consortium.
+//
+// For some graphical characters, the Unicode standard explicitly defines a character-cell
+// width via the definition of the East Asian FullWidth (F), Wide (W), Half-width (H),
+// and Narrow (Na) classes. In all these cases, there is no ambiguity about which width
+// a terminal shall use. For characters in the East Asian Ambiguous (A) class, the width
+// choice depends purely on a preference of backward compatibility with either historic
+// CJK or Western practice. Choosing single-width for these characters is easy to justify
+// as the appropriate long-term solution, as the CJK practice of displaying these characters
+// as double-width comes from historic implementation simplicity (8-bit encoded characters
+// were displayed single-width and 16-bit ones double-width, even for Greek, Cyrillic, etc.)
+// and not any typographic considerations.
+//
+// Much less clear is the choice of width for the Not East Asian (Neutral) class.
+// Existing practice does not dictate a width for any of these characters. It would
+// nevertheless make sense typographically to allocate two character cells to characters
+// such as for instance EM SPACE or VOLUME INTEGRAL, which cannot be represented adequately
+// with a single-width glyph. The following routines at present merely assign a single-cell
+// width to all neutral characters, in the interest of simplicity. This is not entirely
+// satisfactory and should be reconsidered before establishing a formal standard in this area.
+// At the moment, the decision which Not East Asian (Neutral) characters should be represented
+// by double-width glyphs cannot yet be answered by applying a simple rule from the Unicode
+// database content. Setting up a proper standard for the behavior of UTF-8 character
+// terminals will require a careful analysis not only of each Unicode character, but also
+// of each presentation form, something the author of these routines has avoided to do so far.
+//
+// http://www.unicode.org/unicode/reports/tr11/
+
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+#if NET6_0_OR_GREATER
+using System.Text;
+#endif
+
+namespace Wcwidth
+{
+ ///
+ /// A utility for calculating the width of Unicode characters.
+ ///
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ static class UnicodeCalculator
+ {
+ private const Unicode Latest = Unicode.Version_16_0_0;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ // Also includes some Cc, Mn, Zl, and Zp characters
+ private static readonly HashSet _zeroWidthCf = new HashSet
+ {
+ 0, // Null (Cc)
+ 0x034F, // Combining grapheme joiner (Mn)
+ 0x200B, // Zero width space
+ 0x200C, // Zero width non-joiner
+ 0x200D, // Zero width joiner
+ 0x200E, // Left-to-right mark
+ 0x200F, // Right-to-left mark
+ 0x2028, // Line separator (Zl)
+ 0x2029, // Paragraph separator (Zp)
+ 0x202A, // Left-to-right embedding
+ 0x202B, // Right-to-left embedding
+ 0x202C, // Pop directional formatting
+ 0x202D, // Left-to-right override
+ 0x202E, // Right-to-left override
+ 0x2060, // Word joiner
+ 0x2061, // Function application
+ 0x2062, // Invisible times
+ 0x2063, // Invisible separator
+ };
+
+ ///
+ /// Gets the width of a Unicode code point.
+ ///
+ /// The Unicode code point to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(int value, Unicode? version = null)
+ {
+ version ??= Latest;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ if (_zeroWidthCf.Contains((uint)value))
+ {
+ return 0;
+ }
+
+ // C0/C1 control characters
+ if (value < 32 || (value >= 0x07F && value < 0x0A0))
+ {
+ return -1;
+ }
+
+ // Combining characters with zero width?
+ var zeroTable = ZeroTable.GetTable(version.Value);
+ if (zeroTable.Exist((uint)value))
+ {
+ return 0;
+ }
+
+ // Wide character?
+ var wideTable = WideTable.GetTable(version.Value);
+ return wideTable.Exist((uint)value) ? 2 : 1;
+ }
+
+#if NET6_0_OR_GREATER
+ ///
+ /// Gets the width of a Unicode scalar.
+ ///
+ /// The Unicode scalar to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(Rune value, Unicode? version = null)
+ {
+ return GetWidth(value.Value, version);
+ }
+#endif
+
+ ///
+ /// Gets the width of a UTF-16 code unit.
+ ///
+ /// The UTF-16 code unit to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(char value, Unicode? version = null)
+ {
+ return GetWidth((int)value, version);
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Extensions/IntegerExtensions.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Extensions/IntegerExtensions.cs
new file mode 100755
index 0000000000..71c01fd118
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Extensions/IntegerExtensions.cs
@@ -0,0 +1,48 @@
+using System;
+
+namespace Wcwidth
+{
+ internal static class IntegerExtensions
+ {
+ public static bool Exist(this uint[,] table, uint value)
+ {
+ return Find(table, value) != 0;
+ }
+
+ public static int Find(this uint[,] table, uint value)
+ {
+ if (table is null)
+ {
+ throw new ArgumentNullException(nameof(table));
+ }
+
+ var min = 0;
+ var max = table.GetUpperBound(0);
+ int mid;
+
+ if (value < table[0, 0] || value > table[max, 1])
+ {
+ return 0;
+ }
+
+ while (max >= min)
+ {
+ mid = (min + max) / 2;
+ if (value > table[mid, 1])
+ {
+ min = mid + 1;
+ }
+ else if (value < table[mid, 0])
+ {
+ max = mid - 1;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+
+ return 0;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/WideTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/WideTable.Generated.cs
new file mode 100755
index 0000000000..4586145f71
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/WideTable.Generated.cs
@@ -0,0 +1,1817 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FC3 },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01F200, 0x01F200 },
+ { 0x01F210, 0x01F231 },
+ { 0x01F240, 0x01F248 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02F73F },
+ { 0x02B740, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE0 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F6 },
+ { 0x01F910, 0x01F91E },
+ { 0x01F920, 0x01F927 },
+ { 0x01F930, 0x01F930 },
+ { 0x01F933, 0x01F93E },
+ { 0x01F940, 0x01F94B },
+ { 0x01F950, 0x01F95E },
+ { 0x01F980, 0x01F991 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312E },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F8 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F94C },
+ { 0x01F950, 0x01F96B },
+ { 0x01F980, 0x01F997 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x01F9D0, 0x01F9E6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187F1 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F9 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F970 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F97A },
+ { 0x01F97C, 0x01F9A2 },
+ { 0x01F9B0, 0x01F9B9 },
+ { 0x01F9C0, 0x01F9C2 },
+ { 0x01F9D0, 0x01F9FF },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F978 },
+ { 0x01F97A, 0x01F9CB },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAA8 },
+ { 0x01FAB0, 0x01FAB6 },
+ { 0x01FAC0, 0x01FAC2 },
+ { 0x01FAD0, 0x01FAD6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DD, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7C },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAAC },
+ { 0x01FAB0, 0x01FABA },
+ { 0x01FAC0, 0x01FAC5 },
+ { 0x01FAD0, 0x01FAD9 },
+ { 0x01FAE0, 0x01FAE7 },
+ { 0x01FAF0, 0x01FAF6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018CFF, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA89 },
+ { 0x01FA8F, 0x01FAC6 },
+ { 0x01FACE, 0x01FADC },
+ { 0x01FADF, 0x01FAE9 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF6 },
+ { 0x017000, 0x018CD5 },
+ { 0x018CFF, 0x018D1E },
+ { 0x018D80, 0x018DF2 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D8 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA8A },
+ { 0x01FA8E, 0x01FAC6 },
+ { 0x01FAC8, 0x01FAC8 },
+ { 0x01FACD, 0x01FADC },
+ { 0x01FADF, 0x01FAEA },
+ { 0x01FAEF, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/WideTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/WideTable.cs
new file mode 100755
index 0000000000..0bfe1f6025
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/WideTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static WideTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/ZeroTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
new file mode 100755
index 0000000000..392afff179
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
@@ -0,0 +1,5898 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005B9 },
+ { 0x0005BB, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001DC0, 0x001DC3 },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EB },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001DC0, 0x001DCA },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000900, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000955 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFD, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2D },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011301, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011A01, 0x011A06 },
+ { 0x011A09, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001AC0 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFC, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ADD },
+ { 0x001AE0, 0x001AEB },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFA, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011B60, 0x011B60 },
+ { 0x011B62, 0x011B64 },
+ { 0x011B66, 0x011B66 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E6E3, 0x01E6E3 },
+ { 0x01E6E6, 0x01E6E6 },
+ { 0x01E6EE, 0x01E6EF },
+ { 0x01E6F5, 0x01E6F5 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/ZeroTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/ZeroTable.cs
new file mode 100755
index 0000000000..a365069666
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Tables/ZeroTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static ZeroTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Unicode.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Unicode.cs
new file mode 100755
index 0000000000..b78f6f7563
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/Unicode.cs
@@ -0,0 +1,149 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Wcwidth
+{
+ ///
+ /// Represents a Unicode version.
+ ///
+ [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores")]
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ enum Unicode
+ {
+ ///
+ /// Unicode version 4.1.0.
+ ///
+ [Description("4.1.0")]
+ Version_4_1_0,
+
+ ///
+ /// Unicode version 5.0.0.
+ ///
+ [Description("5.0.0")]
+ Version_5_0_0,
+
+ ///
+ /// Unicode version 5.1.0.
+ ///
+ [Description("5.1.0")]
+ Version_5_1_0,
+
+ ///
+ /// Unicode version 5.2.0.
+ ///
+ [Description("5.2.0")]
+ Version_5_2_0,
+
+ ///
+ /// Unicode version 6.0.0.
+ ///
+ [Description("6.0.0")]
+ Version_6_0_0,
+
+ ///
+ /// Unicode version 6.1.0.
+ ///
+ [Description("6.1.0")]
+ Version_6_1_0,
+
+ ///
+ /// Unicode version 6.2.0.
+ ///
+ [Description("6.2.0")]
+ Version_6_2_0,
+
+ ///
+ /// Unicode version 6.3.0.
+ ///
+ [Description("6.3.0")]
+ Version_6_3_0,
+
+ ///
+ /// Unicode version 7.0.0.
+ ///
+ [Description("7.0.0")]
+ Version_7_0_0,
+
+ ///
+ /// Unicode version 8.0.0.
+ ///
+ [Description("8.0.0")]
+ Version_8_0_0,
+
+ ///
+ /// Unicode version 9.0.0.
+ ///
+ [Description("9.0.0")]
+ Version_9_0_0,
+
+ ///
+ /// Unicode version 10.0.0.
+ ///
+ [Description("10.0.0")]
+ Version_10_0_0,
+
+ ///
+ /// Unicode version 11.0.0.
+ ///
+ [Description("11.0.0")]
+ Version_11_0_0,
+
+ ///
+ /// Unicode version 12.0.0.
+ ///
+ [Description("12.0.0")]
+ Version_12_0_0,
+
+ ///
+ /// Unicode version 12.1.0.
+ ///
+ [Description("12.1.0")]
+ Version_12_1_0,
+
+ ///
+ /// Unicode version 13.0.0.
+ ///
+ [Description("13.0.0")]
+ Version_13_0_0,
+
+ ///
+ /// Unicode version 14.0.0.
+ ///
+ [Description("14.0.0")]
+ Version_14_0_0,
+
+ ///
+ /// Unicode version 15.0.0.
+ ///
+ [Description("15.0.0")]
+ Version_15_0_0,
+
+ ///
+ /// Unicode version 15.1.0.
+ ///
+ [Description("15.1.0")]
+ Version_15_1_0,
+
+ ///
+ /// Unicode version 16.0.0.
+ ///
+ [Description("16.0.0")]
+ Version_16_0_0,
+
+ ///
+ /// Unicode version 17.0.0.
+ ///
+ [Description("17.0.0")]
+ Version_17_0_0,
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/UnicodeCalculator.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/UnicodeCalculator.cs
new file mode 100755
index 0000000000..bc9881da22
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net7.0/External/Wcwidth/UnicodeCalculator.cs
@@ -0,0 +1,153 @@
+// This is a port of the Python version of wcwidth() written by Jeff Quast,
+// which originally was written by Markus Kuhn.
+//
+// https://github.com/jquast/wcwidth
+// http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+//
+// In fixed-width output devices, Latin characters all occupy a single "cell" position
+// of equal width, whereas ideographic CJK characters occupy two such cells. Interoperability
+// between terminal-line applications and (teletype-style) character terminals using the
+// UTF-8 encoding requires agreement on which character should advance the cursor by how
+// many cell positions. No established formal standards exist at present on which Unicode
+// character shall occupy how many cell positions on character terminals. These routines
+// are a first attempt of defining such behavior based on simple rules applied to data
+// provided by the Unicode Consortium.
+//
+// For some graphical characters, the Unicode standard explicitly defines a character-cell
+// width via the definition of the East Asian FullWidth (F), Wide (W), Half-width (H),
+// and Narrow (Na) classes. In all these cases, there is no ambiguity about which width
+// a terminal shall use. For characters in the East Asian Ambiguous (A) class, the width
+// choice depends purely on a preference of backward compatibility with either historic
+// CJK or Western practice. Choosing single-width for these characters is easy to justify
+// as the appropriate long-term solution, as the CJK practice of displaying these characters
+// as double-width comes from historic implementation simplicity (8-bit encoded characters
+// were displayed single-width and 16-bit ones double-width, even for Greek, Cyrillic, etc.)
+// and not any typographic considerations.
+//
+// Much less clear is the choice of width for the Not East Asian (Neutral) class.
+// Existing practice does not dictate a width for any of these characters. It would
+// nevertheless make sense typographically to allocate two character cells to characters
+// such as for instance EM SPACE or VOLUME INTEGRAL, which cannot be represented adequately
+// with a single-width glyph. The following routines at present merely assign a single-cell
+// width to all neutral characters, in the interest of simplicity. This is not entirely
+// satisfactory and should be reconsidered before establishing a formal standard in this area.
+// At the moment, the decision which Not East Asian (Neutral) characters should be represented
+// by double-width glyphs cannot yet be answered by applying a simple rule from the Unicode
+// database content. Setting up a proper standard for the behavior of UTF-8 character
+// terminals will require a careful analysis not only of each Unicode character, but also
+// of each presentation form, something the author of these routines has avoided to do so far.
+//
+// http://www.unicode.org/unicode/reports/tr11/
+
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+#if NET6_0_OR_GREATER
+using System.Text;
+#endif
+
+namespace Wcwidth
+{
+ ///
+ /// A utility for calculating the width of Unicode characters.
+ ///
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ static class UnicodeCalculator
+ {
+ private const Unicode Latest = Unicode.Version_16_0_0;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ // Also includes some Cc, Mn, Zl, and Zp characters
+ private static readonly HashSet _zeroWidthCf = new HashSet
+ {
+ 0, // Null (Cc)
+ 0x034F, // Combining grapheme joiner (Mn)
+ 0x200B, // Zero width space
+ 0x200C, // Zero width non-joiner
+ 0x200D, // Zero width joiner
+ 0x200E, // Left-to-right mark
+ 0x200F, // Right-to-left mark
+ 0x2028, // Line separator (Zl)
+ 0x2029, // Paragraph separator (Zp)
+ 0x202A, // Left-to-right embedding
+ 0x202B, // Right-to-left embedding
+ 0x202C, // Pop directional formatting
+ 0x202D, // Left-to-right override
+ 0x202E, // Right-to-left override
+ 0x2060, // Word joiner
+ 0x2061, // Function application
+ 0x2062, // Invisible times
+ 0x2063, // Invisible separator
+ };
+
+ ///
+ /// Gets the width of a Unicode code point.
+ ///
+ /// The Unicode code point to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(int value, Unicode? version = null)
+ {
+ version ??= Latest;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ if (_zeroWidthCf.Contains((uint)value))
+ {
+ return 0;
+ }
+
+ // C0/C1 control characters
+ if (value < 32 || (value >= 0x07F && value < 0x0A0))
+ {
+ return -1;
+ }
+
+ // Combining characters with zero width?
+ var zeroTable = ZeroTable.GetTable(version.Value);
+ if (zeroTable.Exist((uint)value))
+ {
+ return 0;
+ }
+
+ // Wide character?
+ var wideTable = WideTable.GetTable(version.Value);
+ return wideTable.Exist((uint)value) ? 2 : 1;
+ }
+
+#if NET6_0_OR_GREATER
+ ///
+ /// Gets the width of a Unicode scalar.
+ ///
+ /// The Unicode scalar to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(Rune value, Unicode? version = null)
+ {
+ return GetWidth(value.Value, version);
+ }
+#endif
+
+ ///
+ /// Gets the width of a UTF-16 code unit.
+ ///
+ /// The UTF-16 code unit to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(char value, Unicode? version = null)
+ {
+ return GetWidth((int)value, version);
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Extensions/IntegerExtensions.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Extensions/IntegerExtensions.cs
new file mode 100755
index 0000000000..71c01fd118
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Extensions/IntegerExtensions.cs
@@ -0,0 +1,48 @@
+using System;
+
+namespace Wcwidth
+{
+ internal static class IntegerExtensions
+ {
+ public static bool Exist(this uint[,] table, uint value)
+ {
+ return Find(table, value) != 0;
+ }
+
+ public static int Find(this uint[,] table, uint value)
+ {
+ if (table is null)
+ {
+ throw new ArgumentNullException(nameof(table));
+ }
+
+ var min = 0;
+ var max = table.GetUpperBound(0);
+ int mid;
+
+ if (value < table[0, 0] || value > table[max, 1])
+ {
+ return 0;
+ }
+
+ while (max >= min)
+ {
+ mid = (min + max) / 2;
+ if (value > table[mid, 1])
+ {
+ min = mid + 1;
+ }
+ else if (value < table[mid, 0])
+ {
+ max = mid - 1;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+
+ return 0;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/WideTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/WideTable.Generated.cs
new file mode 100755
index 0000000000..4586145f71
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/WideTable.Generated.cs
@@ -0,0 +1,1817 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FC3 },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01F200, 0x01F200 },
+ { 0x01F210, 0x01F231 },
+ { 0x01F240, 0x01F248 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02F73F },
+ { 0x02B740, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE0 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F6 },
+ { 0x01F910, 0x01F91E },
+ { 0x01F920, 0x01F927 },
+ { 0x01F930, 0x01F930 },
+ { 0x01F933, 0x01F93E },
+ { 0x01F940, 0x01F94B },
+ { 0x01F950, 0x01F95E },
+ { 0x01F980, 0x01F991 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312E },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F8 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F94C },
+ { 0x01F950, 0x01F96B },
+ { 0x01F980, 0x01F997 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x01F9D0, 0x01F9E6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187F1 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F9 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F970 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F97A },
+ { 0x01F97C, 0x01F9A2 },
+ { 0x01F9B0, 0x01F9B9 },
+ { 0x01F9C0, 0x01F9C2 },
+ { 0x01F9D0, 0x01F9FF },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F978 },
+ { 0x01F97A, 0x01F9CB },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAA8 },
+ { 0x01FAB0, 0x01FAB6 },
+ { 0x01FAC0, 0x01FAC2 },
+ { 0x01FAD0, 0x01FAD6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DD, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7C },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAAC },
+ { 0x01FAB0, 0x01FABA },
+ { 0x01FAC0, 0x01FAC5 },
+ { 0x01FAD0, 0x01FAD9 },
+ { 0x01FAE0, 0x01FAE7 },
+ { 0x01FAF0, 0x01FAF6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018CFF, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA89 },
+ { 0x01FA8F, 0x01FAC6 },
+ { 0x01FACE, 0x01FADC },
+ { 0x01FADF, 0x01FAE9 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF6 },
+ { 0x017000, 0x018CD5 },
+ { 0x018CFF, 0x018D1E },
+ { 0x018D80, 0x018DF2 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D8 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA8A },
+ { 0x01FA8E, 0x01FAC6 },
+ { 0x01FAC8, 0x01FAC8 },
+ { 0x01FACD, 0x01FADC },
+ { 0x01FADF, 0x01FAEA },
+ { 0x01FAEF, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/WideTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/WideTable.cs
new file mode 100755
index 0000000000..0bfe1f6025
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/WideTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static WideTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/ZeroTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
new file mode 100755
index 0000000000..392afff179
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
@@ -0,0 +1,5898 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005B9 },
+ { 0x0005BB, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001DC0, 0x001DC3 },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EB },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001DC0, 0x001DCA },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000900, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000955 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFD, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2D },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011301, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011A01, 0x011A06 },
+ { 0x011A09, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001AC0 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFC, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ADD },
+ { 0x001AE0, 0x001AEB },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFA, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011B60, 0x011B60 },
+ { 0x011B62, 0x011B64 },
+ { 0x011B66, 0x011B66 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E6E3, 0x01E6E3 },
+ { 0x01E6E6, 0x01E6E6 },
+ { 0x01E6EE, 0x01E6EF },
+ { 0x01E6F5, 0x01E6F5 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/ZeroTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/ZeroTable.cs
new file mode 100755
index 0000000000..a365069666
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Tables/ZeroTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static ZeroTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Unicode.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Unicode.cs
new file mode 100755
index 0000000000..b78f6f7563
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/Unicode.cs
@@ -0,0 +1,149 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Wcwidth
+{
+ ///
+ /// Represents a Unicode version.
+ ///
+ [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores")]
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ enum Unicode
+ {
+ ///
+ /// Unicode version 4.1.0.
+ ///
+ [Description("4.1.0")]
+ Version_4_1_0,
+
+ ///
+ /// Unicode version 5.0.0.
+ ///
+ [Description("5.0.0")]
+ Version_5_0_0,
+
+ ///
+ /// Unicode version 5.1.0.
+ ///
+ [Description("5.1.0")]
+ Version_5_1_0,
+
+ ///
+ /// Unicode version 5.2.0.
+ ///
+ [Description("5.2.0")]
+ Version_5_2_0,
+
+ ///
+ /// Unicode version 6.0.0.
+ ///
+ [Description("6.0.0")]
+ Version_6_0_0,
+
+ ///
+ /// Unicode version 6.1.0.
+ ///
+ [Description("6.1.0")]
+ Version_6_1_0,
+
+ ///
+ /// Unicode version 6.2.0.
+ ///
+ [Description("6.2.0")]
+ Version_6_2_0,
+
+ ///
+ /// Unicode version 6.3.0.
+ ///
+ [Description("6.3.0")]
+ Version_6_3_0,
+
+ ///
+ /// Unicode version 7.0.0.
+ ///
+ [Description("7.0.0")]
+ Version_7_0_0,
+
+ ///
+ /// Unicode version 8.0.0.
+ ///
+ [Description("8.0.0")]
+ Version_8_0_0,
+
+ ///
+ /// Unicode version 9.0.0.
+ ///
+ [Description("9.0.0")]
+ Version_9_0_0,
+
+ ///
+ /// Unicode version 10.0.0.
+ ///
+ [Description("10.0.0")]
+ Version_10_0_0,
+
+ ///
+ /// Unicode version 11.0.0.
+ ///
+ [Description("11.0.0")]
+ Version_11_0_0,
+
+ ///
+ /// Unicode version 12.0.0.
+ ///
+ [Description("12.0.0")]
+ Version_12_0_0,
+
+ ///
+ /// Unicode version 12.1.0.
+ ///
+ [Description("12.1.0")]
+ Version_12_1_0,
+
+ ///
+ /// Unicode version 13.0.0.
+ ///
+ [Description("13.0.0")]
+ Version_13_0_0,
+
+ ///
+ /// Unicode version 14.0.0.
+ ///
+ [Description("14.0.0")]
+ Version_14_0_0,
+
+ ///
+ /// Unicode version 15.0.0.
+ ///
+ [Description("15.0.0")]
+ Version_15_0_0,
+
+ ///
+ /// Unicode version 15.1.0.
+ ///
+ [Description("15.1.0")]
+ Version_15_1_0,
+
+ ///
+ /// Unicode version 16.0.0.
+ ///
+ [Description("16.0.0")]
+ Version_16_0_0,
+
+ ///
+ /// Unicode version 17.0.0.
+ ///
+ [Description("17.0.0")]
+ Version_17_0_0,
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/UnicodeCalculator.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/UnicodeCalculator.cs
new file mode 100755
index 0000000000..bc9881da22
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/net8.0/External/Wcwidth/UnicodeCalculator.cs
@@ -0,0 +1,153 @@
+// This is a port of the Python version of wcwidth() written by Jeff Quast,
+// which originally was written by Markus Kuhn.
+//
+// https://github.com/jquast/wcwidth
+// http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+//
+// In fixed-width output devices, Latin characters all occupy a single "cell" position
+// of equal width, whereas ideographic CJK characters occupy two such cells. Interoperability
+// between terminal-line applications and (teletype-style) character terminals using the
+// UTF-8 encoding requires agreement on which character should advance the cursor by how
+// many cell positions. No established formal standards exist at present on which Unicode
+// character shall occupy how many cell positions on character terminals. These routines
+// are a first attempt of defining such behavior based on simple rules applied to data
+// provided by the Unicode Consortium.
+//
+// For some graphical characters, the Unicode standard explicitly defines a character-cell
+// width via the definition of the East Asian FullWidth (F), Wide (W), Half-width (H),
+// and Narrow (Na) classes. In all these cases, there is no ambiguity about which width
+// a terminal shall use. For characters in the East Asian Ambiguous (A) class, the width
+// choice depends purely on a preference of backward compatibility with either historic
+// CJK or Western practice. Choosing single-width for these characters is easy to justify
+// as the appropriate long-term solution, as the CJK practice of displaying these characters
+// as double-width comes from historic implementation simplicity (8-bit encoded characters
+// were displayed single-width and 16-bit ones double-width, even for Greek, Cyrillic, etc.)
+// and not any typographic considerations.
+//
+// Much less clear is the choice of width for the Not East Asian (Neutral) class.
+// Existing practice does not dictate a width for any of these characters. It would
+// nevertheless make sense typographically to allocate two character cells to characters
+// such as for instance EM SPACE or VOLUME INTEGRAL, which cannot be represented adequately
+// with a single-width glyph. The following routines at present merely assign a single-cell
+// width to all neutral characters, in the interest of simplicity. This is not entirely
+// satisfactory and should be reconsidered before establishing a formal standard in this area.
+// At the moment, the decision which Not East Asian (Neutral) characters should be represented
+// by double-width glyphs cannot yet be answered by applying a simple rule from the Unicode
+// database content. Setting up a proper standard for the behavior of UTF-8 character
+// terminals will require a careful analysis not only of each Unicode character, but also
+// of each presentation form, something the author of these routines has avoided to do so far.
+//
+// http://www.unicode.org/unicode/reports/tr11/
+
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+#if NET6_0_OR_GREATER
+using System.Text;
+#endif
+
+namespace Wcwidth
+{
+ ///
+ /// A utility for calculating the width of Unicode characters.
+ ///
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ static class UnicodeCalculator
+ {
+ private const Unicode Latest = Unicode.Version_16_0_0;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ // Also includes some Cc, Mn, Zl, and Zp characters
+ private static readonly HashSet _zeroWidthCf = new HashSet
+ {
+ 0, // Null (Cc)
+ 0x034F, // Combining grapheme joiner (Mn)
+ 0x200B, // Zero width space
+ 0x200C, // Zero width non-joiner
+ 0x200D, // Zero width joiner
+ 0x200E, // Left-to-right mark
+ 0x200F, // Right-to-left mark
+ 0x2028, // Line separator (Zl)
+ 0x2029, // Paragraph separator (Zp)
+ 0x202A, // Left-to-right embedding
+ 0x202B, // Right-to-left embedding
+ 0x202C, // Pop directional formatting
+ 0x202D, // Left-to-right override
+ 0x202E, // Right-to-left override
+ 0x2060, // Word joiner
+ 0x2061, // Function application
+ 0x2062, // Invisible times
+ 0x2063, // Invisible separator
+ };
+
+ ///
+ /// Gets the width of a Unicode code point.
+ ///
+ /// The Unicode code point to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(int value, Unicode? version = null)
+ {
+ version ??= Latest;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ if (_zeroWidthCf.Contains((uint)value))
+ {
+ return 0;
+ }
+
+ // C0/C1 control characters
+ if (value < 32 || (value >= 0x07F && value < 0x0A0))
+ {
+ return -1;
+ }
+
+ // Combining characters with zero width?
+ var zeroTable = ZeroTable.GetTable(version.Value);
+ if (zeroTable.Exist((uint)value))
+ {
+ return 0;
+ }
+
+ // Wide character?
+ var wideTable = WideTable.GetTable(version.Value);
+ return wideTable.Exist((uint)value) ? 2 : 1;
+ }
+
+#if NET6_0_OR_GREATER
+ ///
+ /// Gets the width of a Unicode scalar.
+ ///
+ /// The Unicode scalar to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(Rune value, Unicode? version = null)
+ {
+ return GetWidth(value.Value, version);
+ }
+#endif
+
+ ///
+ /// Gets the width of a UTF-16 code unit.
+ ///
+ /// The UTF-16 code unit to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(char value, Unicode? version = null)
+ {
+ return GetWidth((int)value, version);
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Extensions/IntegerExtensions.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Extensions/IntegerExtensions.cs
new file mode 100755
index 0000000000..71c01fd118
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Extensions/IntegerExtensions.cs
@@ -0,0 +1,48 @@
+using System;
+
+namespace Wcwidth
+{
+ internal static class IntegerExtensions
+ {
+ public static bool Exist(this uint[,] table, uint value)
+ {
+ return Find(table, value) != 0;
+ }
+
+ public static int Find(this uint[,] table, uint value)
+ {
+ if (table is null)
+ {
+ throw new ArgumentNullException(nameof(table));
+ }
+
+ var min = 0;
+ var max = table.GetUpperBound(0);
+ int mid;
+
+ if (value < table[0, 0] || value > table[max, 1])
+ {
+ return 0;
+ }
+
+ while (max >= min)
+ {
+ mid = (min + max) / 2;
+ if (value > table[mid, 1])
+ {
+ min = mid + 1;
+ }
+ else if (value < table[mid, 0])
+ {
+ max = mid - 1;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+
+ return 0;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/WideTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/WideTable.Generated.cs
new file mode 100755
index 0000000000..4586145f71
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/WideTable.Generated.cs
@@ -0,0 +1,1817 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312C },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031CF },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FBB },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x001159 },
+ { 0x00115F, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003243 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DB5 },
+ { 0x004E00, 0x009FC3 },
+ { 0x00A000, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FA2D },
+ { 0x00FA30, 0x00FA6A },
+ { 0x00FA70, 0x00FAD9 },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031B7 },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01F200, 0x01F200 },
+ { 0x01F210, 0x01F231 },
+ { 0x01F240, 0x01F248 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02F73F },
+ { 0x02B740, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x0011A3, 0x0011A7 },
+ { 0x0011FA, 0x0011FF },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00D7B0, 0x00D7C6 },
+ { 0x00D7CB, 0x00D7FB },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x002329, 0x00232A },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23A },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312D },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE0 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B001 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F6 },
+ { 0x01F910, 0x01F91E },
+ { 0x01F920, 0x01F927 },
+ { 0x01F930, 0x01F930 },
+ { 0x01F933, 0x01F93E },
+ { 0x01F940, 0x01F94B },
+ { 0x01F950, 0x01F95E },
+ { 0x01F980, 0x01F991 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312E },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187EC },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F8 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F94C },
+ { 0x01F950, 0x01F96B },
+ { 0x01F980, 0x01F997 },
+ { 0x01F9C0, 0x01F9C0 },
+ { 0x01F9D0, 0x01F9E6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE1 },
+ { 0x017000, 0x0187F1 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6F9 },
+ { 0x01F910, 0x01F93E },
+ { 0x01F940, 0x01F970 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F97A },
+ { 0x01F97C, 0x01F9A2 },
+ { 0x01F9B0, 0x01F9B9 },
+ { 0x01F9C0, 0x01F9C2 },
+ { 0x01F9D0, 0x01F9FF },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x0032FE },
+ { 0x003300, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031BA },
+ { 0x0031C0, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE3 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018AF2 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D5 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FA },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90D, 0x01F971 },
+ { 0x01F973, 0x01F976 },
+ { 0x01F97A, 0x01F9A2 },
+ { 0x01F9A5, 0x01F9AA },
+ { 0x01F9AE, 0x01F9CA },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA73 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA82 },
+ { 0x01FA90, 0x01FA95 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01B000, 0x01B11E },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F978 },
+ { 0x01F97A, 0x01F9CB },
+ { 0x01F9CD, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7A },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAA8 },
+ { 0x01FAB0, 0x01FAB6 },
+ { 0x01FAC0, 0x01FAC2 },
+ { 0x01FAD0, 0x01FAD6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DD, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA74 },
+ { 0x01FA78, 0x01FA7C },
+ { 0x01FA80, 0x01FA86 },
+ { 0x01FA90, 0x01FAAC },
+ { 0x01FAB0, 0x01FABA },
+ { 0x01FAC0, 0x01FAC5 },
+ { 0x01FAD0, 0x01FAD9 },
+ { 0x01FAE0, 0x01FAE7 },
+ { 0x01FAF0, 0x01FAF6 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x002FFB },
+ { 0x003000, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031F0, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E3 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x004DBF },
+ { 0x004E00, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018D00, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA88 },
+ { 0x01FA90, 0x01FABD },
+ { 0x01FABF, 0x01FAC5 },
+ { 0x01FACE, 0x01FADB },
+ { 0x01FAE0, 0x01FAE8 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF1 },
+ { 0x017000, 0x0187F7 },
+ { 0x018800, 0x018CD5 },
+ { 0x018CFF, 0x018D08 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D7 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA89 },
+ { 0x01FA8F, 0x01FAC6 },
+ { 0x01FACE, 0x01FADC },
+ { 0x01FADF, 0x01FAE9 },
+ { 0x01FAF0, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x001100, 0x00115F },
+ { 0x00231A, 0x00231B },
+ { 0x002329, 0x00232A },
+ { 0x0023E9, 0x0023EC },
+ { 0x0023F0, 0x0023F0 },
+ { 0x0023F3, 0x0023F3 },
+ { 0x0025FD, 0x0025FE },
+ { 0x002614, 0x002615 },
+ { 0x002630, 0x002637 },
+ { 0x002648, 0x002653 },
+ { 0x00267F, 0x00267F },
+ { 0x00268A, 0x00268F },
+ { 0x002693, 0x002693 },
+ { 0x0026A1, 0x0026A1 },
+ { 0x0026AA, 0x0026AB },
+ { 0x0026BD, 0x0026BE },
+ { 0x0026C4, 0x0026C5 },
+ { 0x0026CE, 0x0026CE },
+ { 0x0026D4, 0x0026D4 },
+ { 0x0026EA, 0x0026EA },
+ { 0x0026F2, 0x0026F3 },
+ { 0x0026F5, 0x0026F5 },
+ { 0x0026FA, 0x0026FA },
+ { 0x0026FD, 0x0026FD },
+ { 0x002705, 0x002705 },
+ { 0x00270A, 0x00270B },
+ { 0x002728, 0x002728 },
+ { 0x00274C, 0x00274C },
+ { 0x00274E, 0x00274E },
+ { 0x002753, 0x002755 },
+ { 0x002757, 0x002757 },
+ { 0x002795, 0x002797 },
+ { 0x0027B0, 0x0027B0 },
+ { 0x0027BF, 0x0027BF },
+ { 0x002B1B, 0x002B1C },
+ { 0x002B50, 0x002B50 },
+ { 0x002B55, 0x002B55 },
+ { 0x002E80, 0x002E99 },
+ { 0x002E9B, 0x002EF3 },
+ { 0x002F00, 0x002FD5 },
+ { 0x002FF0, 0x00303E },
+ { 0x003041, 0x003096 },
+ { 0x003099, 0x0030FF },
+ { 0x003105, 0x00312F },
+ { 0x003131, 0x00318E },
+ { 0x003190, 0x0031E5 },
+ { 0x0031EF, 0x00321E },
+ { 0x003220, 0x003247 },
+ { 0x003250, 0x00A48C },
+ { 0x00A490, 0x00A4C6 },
+ { 0x00A960, 0x00A97C },
+ { 0x00AC00, 0x00D7A3 },
+ { 0x00F900, 0x00FAFF },
+ { 0x00FE10, 0x00FE19 },
+ { 0x00FE30, 0x00FE52 },
+ { 0x00FE54, 0x00FE66 },
+ { 0x00FE68, 0x00FE6B },
+ { 0x00FF01, 0x00FF60 },
+ { 0x00FFE0, 0x00FFE6 },
+ { 0x016FE0, 0x016FE4 },
+ { 0x016FF0, 0x016FF6 },
+ { 0x017000, 0x018CD5 },
+ { 0x018CFF, 0x018D1E },
+ { 0x018D80, 0x018DF2 },
+ { 0x01AFF0, 0x01AFF3 },
+ { 0x01AFF5, 0x01AFFB },
+ { 0x01AFFD, 0x01AFFE },
+ { 0x01B000, 0x01B122 },
+ { 0x01B132, 0x01B132 },
+ { 0x01B150, 0x01B152 },
+ { 0x01B155, 0x01B155 },
+ { 0x01B164, 0x01B167 },
+ { 0x01B170, 0x01B2FB },
+ { 0x01D300, 0x01D356 },
+ { 0x01D360, 0x01D376 },
+ { 0x01F004, 0x01F004 },
+ { 0x01F0CF, 0x01F0CF },
+ { 0x01F18E, 0x01F18E },
+ { 0x01F191, 0x01F19A },
+ { 0x01F200, 0x01F202 },
+ { 0x01F210, 0x01F23B },
+ { 0x01F240, 0x01F248 },
+ { 0x01F250, 0x01F251 },
+ { 0x01F260, 0x01F265 },
+ { 0x01F300, 0x01F320 },
+ { 0x01F32D, 0x01F335 },
+ { 0x01F337, 0x01F37C },
+ { 0x01F37E, 0x01F393 },
+ { 0x01F3A0, 0x01F3CA },
+ { 0x01F3CF, 0x01F3D3 },
+ { 0x01F3E0, 0x01F3F0 },
+ { 0x01F3F4, 0x01F3F4 },
+ { 0x01F3F8, 0x01F43E },
+ { 0x01F440, 0x01F440 },
+ { 0x01F442, 0x01F4FC },
+ { 0x01F4FF, 0x01F53D },
+ { 0x01F54B, 0x01F54E },
+ { 0x01F550, 0x01F567 },
+ { 0x01F57A, 0x01F57A },
+ { 0x01F595, 0x01F596 },
+ { 0x01F5A4, 0x01F5A4 },
+ { 0x01F5FB, 0x01F64F },
+ { 0x01F680, 0x01F6C5 },
+ { 0x01F6CC, 0x01F6CC },
+ { 0x01F6D0, 0x01F6D2 },
+ { 0x01F6D5, 0x01F6D8 },
+ { 0x01F6DC, 0x01F6DF },
+ { 0x01F6EB, 0x01F6EC },
+ { 0x01F6F4, 0x01F6FC },
+ { 0x01F7E0, 0x01F7EB },
+ { 0x01F7F0, 0x01F7F0 },
+ { 0x01F90C, 0x01F93A },
+ { 0x01F93C, 0x01F945 },
+ { 0x01F947, 0x01F9FF },
+ { 0x01FA70, 0x01FA7C },
+ { 0x01FA80, 0x01FA8A },
+ { 0x01FA8E, 0x01FAC6 },
+ { 0x01FAC8, 0x01FAC8 },
+ { 0x01FACD, 0x01FADC },
+ { 0x01FADF, 0x01FAEA },
+ { 0x01FAEF, 0x01FAF8 },
+ { 0x020000, 0x02FFFD },
+ { 0x030000, 0x03FFFD },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/WideTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/WideTable.cs
new file mode 100755
index 0000000000..0bfe1f6025
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/WideTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class WideTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static WideTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/ZeroTable.Generated.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
new file mode 100755
index 0000000000..392afff179
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/ZeroTable.Generated.cs
@@ -0,0 +1,5898 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static uint[,] GenerateTable(Unicode version)
+ {
+ return version switch
+ {
+ Unicode.Version_4_1_0 => Unicode_4_1_0(),
+ Unicode.Version_5_0_0 => Unicode_5_0_0(),
+ Unicode.Version_5_1_0 => Unicode_5_1_0(),
+ Unicode.Version_5_2_0 => Unicode_5_2_0(),
+ Unicode.Version_6_0_0 => Unicode_6_0_0(),
+ Unicode.Version_6_1_0 => Unicode_6_1_0(),
+ Unicode.Version_6_2_0 => Unicode_6_2_0(),
+ Unicode.Version_6_3_0 => Unicode_6_3_0(),
+ Unicode.Version_7_0_0 => Unicode_7_0_0(),
+ Unicode.Version_8_0_0 => Unicode_8_0_0(),
+ Unicode.Version_9_0_0 => Unicode_9_0_0(),
+ Unicode.Version_10_0_0 => Unicode_10_0_0(),
+ Unicode.Version_11_0_0 => Unicode_11_0_0(),
+ Unicode.Version_12_0_0 => Unicode_12_0_0(),
+ Unicode.Version_12_1_0 => Unicode_12_1_0(),
+ Unicode.Version_13_0_0 => Unicode_13_0_0(),
+ Unicode.Version_14_0_0 => Unicode_14_0_0(),
+ Unicode.Version_15_0_0 => Unicode_15_0_0(),
+ Unicode.Version_15_1_0 => Unicode_15_1_0(),
+ Unicode.Version_16_0_0 => Unicode_16_0_0(),
+ Unicode.Version_17_0_0 => Unicode_17_0_0(),
+ _ => throw new InvalidOperationException("Unknown Unicode version"),
+ };
+ }
+
+ private static uint[,] Unicode_4_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005B9 },
+ { 0x0005BB, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001DC0, 0x001DC3 },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EB },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000486 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x000615 },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A70, 0x000A71 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B43 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D43 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001032 },
+ { 0x001036, 0x001037 },
+ { 0x001039, 0x001039 },
+ { 0x001058, 0x001059 },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001DC0, 0x001DCA },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020EF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE23 },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000901, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000954 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFE, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_5_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065E },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DE, 0x0006DE },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000900, 0x000902 },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000955 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F90, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135F, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFD, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302F },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A67C, 0x00A67D },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_2_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_6_3_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x0008FE },
+ { 0x000900, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAB },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001DC0, 0x001DE6 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE26 },
+ { 0x0101FD, 0x0101FD },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011080, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_7_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E4, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69F, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2D },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011301, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_8_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFC, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C4 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_9_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D01, 0x000D01 },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF5 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_10_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D4, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111CA, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133C, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x011A01, 0x011A06 },
+ { 0x011A09, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_11_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EB9 },
+ { 0x000EBB, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BC },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_12_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B56, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_13_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x0008D3, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001734 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001AC0 },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DF9 },
+ { 0x001DFB, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_14_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECD },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_15_1_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000898, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFD, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_16_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ACE },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFC, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+
+ private static uint[,] Unicode_17_0_0()
+ {
+ return new uint[,]
+ {
+ { 0x000300, 0x00036F },
+ { 0x000483, 0x000487 },
+ { 0x000488, 0x000489 },
+ { 0x000591, 0x0005BD },
+ { 0x0005BF, 0x0005BF },
+ { 0x0005C1, 0x0005C2 },
+ { 0x0005C4, 0x0005C5 },
+ { 0x0005C7, 0x0005C7 },
+ { 0x000610, 0x00061A },
+ { 0x00064B, 0x00065F },
+ { 0x000670, 0x000670 },
+ { 0x0006D6, 0x0006DC },
+ { 0x0006DF, 0x0006E4 },
+ { 0x0006E7, 0x0006E8 },
+ { 0x0006EA, 0x0006ED },
+ { 0x000711, 0x000711 },
+ { 0x000730, 0x00074A },
+ { 0x0007A6, 0x0007B0 },
+ { 0x0007EB, 0x0007F3 },
+ { 0x0007FD, 0x0007FD },
+ { 0x000816, 0x000819 },
+ { 0x00081B, 0x000823 },
+ { 0x000825, 0x000827 },
+ { 0x000829, 0x00082D },
+ { 0x000859, 0x00085B },
+ { 0x000897, 0x00089F },
+ { 0x0008CA, 0x0008E1 },
+ { 0x0008E3, 0x000902 },
+ { 0x00093A, 0x00093A },
+ { 0x00093C, 0x00093C },
+ { 0x000941, 0x000948 },
+ { 0x00094D, 0x00094D },
+ { 0x000951, 0x000957 },
+ { 0x000962, 0x000963 },
+ { 0x000981, 0x000981 },
+ { 0x0009BC, 0x0009BC },
+ { 0x0009C1, 0x0009C4 },
+ { 0x0009CD, 0x0009CD },
+ { 0x0009E2, 0x0009E3 },
+ { 0x0009FE, 0x0009FE },
+ { 0x000A01, 0x000A02 },
+ { 0x000A3C, 0x000A3C },
+ { 0x000A41, 0x000A42 },
+ { 0x000A47, 0x000A48 },
+ { 0x000A4B, 0x000A4D },
+ { 0x000A51, 0x000A51 },
+ { 0x000A70, 0x000A71 },
+ { 0x000A75, 0x000A75 },
+ { 0x000A81, 0x000A82 },
+ { 0x000ABC, 0x000ABC },
+ { 0x000AC1, 0x000AC5 },
+ { 0x000AC7, 0x000AC8 },
+ { 0x000ACD, 0x000ACD },
+ { 0x000AE2, 0x000AE3 },
+ { 0x000AFA, 0x000AFF },
+ { 0x000B01, 0x000B01 },
+ { 0x000B3C, 0x000B3C },
+ { 0x000B3F, 0x000B3F },
+ { 0x000B41, 0x000B44 },
+ { 0x000B4D, 0x000B4D },
+ { 0x000B55, 0x000B56 },
+ { 0x000B62, 0x000B63 },
+ { 0x000B82, 0x000B82 },
+ { 0x000BC0, 0x000BC0 },
+ { 0x000BCD, 0x000BCD },
+ { 0x000C00, 0x000C00 },
+ { 0x000C04, 0x000C04 },
+ { 0x000C3C, 0x000C3C },
+ { 0x000C3E, 0x000C40 },
+ { 0x000C46, 0x000C48 },
+ { 0x000C4A, 0x000C4D },
+ { 0x000C55, 0x000C56 },
+ { 0x000C62, 0x000C63 },
+ { 0x000C81, 0x000C81 },
+ { 0x000CBC, 0x000CBC },
+ { 0x000CBF, 0x000CBF },
+ { 0x000CC6, 0x000CC6 },
+ { 0x000CCC, 0x000CCD },
+ { 0x000CE2, 0x000CE3 },
+ { 0x000D00, 0x000D01 },
+ { 0x000D3B, 0x000D3C },
+ { 0x000D41, 0x000D44 },
+ { 0x000D4D, 0x000D4D },
+ { 0x000D62, 0x000D63 },
+ { 0x000D81, 0x000D81 },
+ { 0x000DCA, 0x000DCA },
+ { 0x000DD2, 0x000DD4 },
+ { 0x000DD6, 0x000DD6 },
+ { 0x000E31, 0x000E31 },
+ { 0x000E34, 0x000E3A },
+ { 0x000E47, 0x000E4E },
+ { 0x000EB1, 0x000EB1 },
+ { 0x000EB4, 0x000EBC },
+ { 0x000EC8, 0x000ECE },
+ { 0x000F18, 0x000F19 },
+ { 0x000F35, 0x000F35 },
+ { 0x000F37, 0x000F37 },
+ { 0x000F39, 0x000F39 },
+ { 0x000F71, 0x000F7E },
+ { 0x000F80, 0x000F84 },
+ { 0x000F86, 0x000F87 },
+ { 0x000F8D, 0x000F97 },
+ { 0x000F99, 0x000FBC },
+ { 0x000FC6, 0x000FC6 },
+ { 0x00102D, 0x001030 },
+ { 0x001032, 0x001037 },
+ { 0x001039, 0x00103A },
+ { 0x00103D, 0x00103E },
+ { 0x001058, 0x001059 },
+ { 0x00105E, 0x001060 },
+ { 0x001071, 0x001074 },
+ { 0x001082, 0x001082 },
+ { 0x001085, 0x001086 },
+ { 0x00108D, 0x00108D },
+ { 0x00109D, 0x00109D },
+ { 0x00135D, 0x00135F },
+ { 0x001712, 0x001714 },
+ { 0x001732, 0x001733 },
+ { 0x001752, 0x001753 },
+ { 0x001772, 0x001773 },
+ { 0x0017B4, 0x0017B5 },
+ { 0x0017B7, 0x0017BD },
+ { 0x0017C6, 0x0017C6 },
+ { 0x0017C9, 0x0017D3 },
+ { 0x0017DD, 0x0017DD },
+ { 0x00180B, 0x00180D },
+ { 0x00180F, 0x00180F },
+ { 0x001885, 0x001886 },
+ { 0x0018A9, 0x0018A9 },
+ { 0x001920, 0x001922 },
+ { 0x001927, 0x001928 },
+ { 0x001932, 0x001932 },
+ { 0x001939, 0x00193B },
+ { 0x001A17, 0x001A18 },
+ { 0x001A1B, 0x001A1B },
+ { 0x001A56, 0x001A56 },
+ { 0x001A58, 0x001A5E },
+ { 0x001A60, 0x001A60 },
+ { 0x001A62, 0x001A62 },
+ { 0x001A65, 0x001A6C },
+ { 0x001A73, 0x001A7C },
+ { 0x001A7F, 0x001A7F },
+ { 0x001AB0, 0x001ABD },
+ { 0x001ABE, 0x001ABE },
+ { 0x001ABF, 0x001ADD },
+ { 0x001AE0, 0x001AEB },
+ { 0x001B00, 0x001B03 },
+ { 0x001B34, 0x001B34 },
+ { 0x001B36, 0x001B3A },
+ { 0x001B3C, 0x001B3C },
+ { 0x001B42, 0x001B42 },
+ { 0x001B6B, 0x001B73 },
+ { 0x001B80, 0x001B81 },
+ { 0x001BA2, 0x001BA5 },
+ { 0x001BA8, 0x001BA9 },
+ { 0x001BAB, 0x001BAD },
+ { 0x001BE6, 0x001BE6 },
+ { 0x001BE8, 0x001BE9 },
+ { 0x001BED, 0x001BED },
+ { 0x001BEF, 0x001BF1 },
+ { 0x001C2C, 0x001C33 },
+ { 0x001C36, 0x001C37 },
+ { 0x001CD0, 0x001CD2 },
+ { 0x001CD4, 0x001CE0 },
+ { 0x001CE2, 0x001CE8 },
+ { 0x001CED, 0x001CED },
+ { 0x001CF4, 0x001CF4 },
+ { 0x001CF8, 0x001CF9 },
+ { 0x001DC0, 0x001DFF },
+ { 0x0020D0, 0x0020DC },
+ { 0x0020DD, 0x0020E0 },
+ { 0x0020E1, 0x0020E1 },
+ { 0x0020E2, 0x0020E4 },
+ { 0x0020E5, 0x0020F0 },
+ { 0x002CEF, 0x002CF1 },
+ { 0x002D7F, 0x002D7F },
+ { 0x002DE0, 0x002DFF },
+ { 0x00302A, 0x00302D },
+ { 0x003099, 0x00309A },
+ { 0x00A66F, 0x00A66F },
+ { 0x00A670, 0x00A672 },
+ { 0x00A674, 0x00A67D },
+ { 0x00A69E, 0x00A69F },
+ { 0x00A6F0, 0x00A6F1 },
+ { 0x00A802, 0x00A802 },
+ { 0x00A806, 0x00A806 },
+ { 0x00A80B, 0x00A80B },
+ { 0x00A825, 0x00A826 },
+ { 0x00A82C, 0x00A82C },
+ { 0x00A8C4, 0x00A8C5 },
+ { 0x00A8E0, 0x00A8F1 },
+ { 0x00A8FF, 0x00A8FF },
+ { 0x00A926, 0x00A92D },
+ { 0x00A947, 0x00A951 },
+ { 0x00A980, 0x00A982 },
+ { 0x00A9B3, 0x00A9B3 },
+ { 0x00A9B6, 0x00A9B9 },
+ { 0x00A9BC, 0x00A9BD },
+ { 0x00A9E5, 0x00A9E5 },
+ { 0x00AA29, 0x00AA2E },
+ { 0x00AA31, 0x00AA32 },
+ { 0x00AA35, 0x00AA36 },
+ { 0x00AA43, 0x00AA43 },
+ { 0x00AA4C, 0x00AA4C },
+ { 0x00AA7C, 0x00AA7C },
+ { 0x00AAB0, 0x00AAB0 },
+ { 0x00AAB2, 0x00AAB4 },
+ { 0x00AAB7, 0x00AAB8 },
+ { 0x00AABE, 0x00AABF },
+ { 0x00AAC1, 0x00AAC1 },
+ { 0x00AAEC, 0x00AAED },
+ { 0x00AAF6, 0x00AAF6 },
+ { 0x00ABE5, 0x00ABE5 },
+ { 0x00ABE8, 0x00ABE8 },
+ { 0x00ABED, 0x00ABED },
+ { 0x00FB1E, 0x00FB1E },
+ { 0x00FE00, 0x00FE0F },
+ { 0x00FE20, 0x00FE2F },
+ { 0x0101FD, 0x0101FD },
+ { 0x0102E0, 0x0102E0 },
+ { 0x010376, 0x01037A },
+ { 0x010A01, 0x010A03 },
+ { 0x010A05, 0x010A06 },
+ { 0x010A0C, 0x010A0F },
+ { 0x010A38, 0x010A3A },
+ { 0x010A3F, 0x010A3F },
+ { 0x010AE5, 0x010AE6 },
+ { 0x010D24, 0x010D27 },
+ { 0x010D69, 0x010D6D },
+ { 0x010EAB, 0x010EAC },
+ { 0x010EFA, 0x010EFF },
+ { 0x010F46, 0x010F50 },
+ { 0x010F82, 0x010F85 },
+ { 0x011001, 0x011001 },
+ { 0x011038, 0x011046 },
+ { 0x011070, 0x011070 },
+ { 0x011073, 0x011074 },
+ { 0x01107F, 0x011081 },
+ { 0x0110B3, 0x0110B6 },
+ { 0x0110B9, 0x0110BA },
+ { 0x0110C2, 0x0110C2 },
+ { 0x011100, 0x011102 },
+ { 0x011127, 0x01112B },
+ { 0x01112D, 0x011134 },
+ { 0x011173, 0x011173 },
+ { 0x011180, 0x011181 },
+ { 0x0111B6, 0x0111BE },
+ { 0x0111C9, 0x0111CC },
+ { 0x0111CF, 0x0111CF },
+ { 0x01122F, 0x011231 },
+ { 0x011234, 0x011234 },
+ { 0x011236, 0x011237 },
+ { 0x01123E, 0x01123E },
+ { 0x011241, 0x011241 },
+ { 0x0112DF, 0x0112DF },
+ { 0x0112E3, 0x0112EA },
+ { 0x011300, 0x011301 },
+ { 0x01133B, 0x01133C },
+ { 0x011340, 0x011340 },
+ { 0x011366, 0x01136C },
+ { 0x011370, 0x011374 },
+ { 0x0113BB, 0x0113C0 },
+ { 0x0113CE, 0x0113CE },
+ { 0x0113D0, 0x0113D0 },
+ { 0x0113D2, 0x0113D2 },
+ { 0x0113E1, 0x0113E2 },
+ { 0x011438, 0x01143F },
+ { 0x011442, 0x011444 },
+ { 0x011446, 0x011446 },
+ { 0x01145E, 0x01145E },
+ { 0x0114B3, 0x0114B8 },
+ { 0x0114BA, 0x0114BA },
+ { 0x0114BF, 0x0114C0 },
+ { 0x0114C2, 0x0114C3 },
+ { 0x0115B2, 0x0115B5 },
+ { 0x0115BC, 0x0115BD },
+ { 0x0115BF, 0x0115C0 },
+ { 0x0115DC, 0x0115DD },
+ { 0x011633, 0x01163A },
+ { 0x01163D, 0x01163D },
+ { 0x01163F, 0x011640 },
+ { 0x0116AB, 0x0116AB },
+ { 0x0116AD, 0x0116AD },
+ { 0x0116B0, 0x0116B5 },
+ { 0x0116B7, 0x0116B7 },
+ { 0x01171D, 0x01171D },
+ { 0x01171F, 0x01171F },
+ { 0x011722, 0x011725 },
+ { 0x011727, 0x01172B },
+ { 0x01182F, 0x011837 },
+ { 0x011839, 0x01183A },
+ { 0x01193B, 0x01193C },
+ { 0x01193E, 0x01193E },
+ { 0x011943, 0x011943 },
+ { 0x0119D4, 0x0119D7 },
+ { 0x0119DA, 0x0119DB },
+ { 0x0119E0, 0x0119E0 },
+ { 0x011A01, 0x011A0A },
+ { 0x011A33, 0x011A38 },
+ { 0x011A3B, 0x011A3E },
+ { 0x011A47, 0x011A47 },
+ { 0x011A51, 0x011A56 },
+ { 0x011A59, 0x011A5B },
+ { 0x011A8A, 0x011A96 },
+ { 0x011A98, 0x011A99 },
+ { 0x011B60, 0x011B60 },
+ { 0x011B62, 0x011B64 },
+ { 0x011B66, 0x011B66 },
+ { 0x011C30, 0x011C36 },
+ { 0x011C38, 0x011C3D },
+ { 0x011C3F, 0x011C3F },
+ { 0x011C92, 0x011CA7 },
+ { 0x011CAA, 0x011CB0 },
+ { 0x011CB2, 0x011CB3 },
+ { 0x011CB5, 0x011CB6 },
+ { 0x011D31, 0x011D36 },
+ { 0x011D3A, 0x011D3A },
+ { 0x011D3C, 0x011D3D },
+ { 0x011D3F, 0x011D45 },
+ { 0x011D47, 0x011D47 },
+ { 0x011D90, 0x011D91 },
+ { 0x011D95, 0x011D95 },
+ { 0x011D97, 0x011D97 },
+ { 0x011EF3, 0x011EF4 },
+ { 0x011F00, 0x011F01 },
+ { 0x011F36, 0x011F3A },
+ { 0x011F40, 0x011F40 },
+ { 0x011F42, 0x011F42 },
+ { 0x011F5A, 0x011F5A },
+ { 0x013440, 0x013440 },
+ { 0x013447, 0x013455 },
+ { 0x01611E, 0x016129 },
+ { 0x01612D, 0x01612F },
+ { 0x016AF0, 0x016AF4 },
+ { 0x016B30, 0x016B36 },
+ { 0x016F4F, 0x016F4F },
+ { 0x016F8F, 0x016F92 },
+ { 0x016FE4, 0x016FE4 },
+ { 0x01BC9D, 0x01BC9E },
+ { 0x01CF00, 0x01CF2D },
+ { 0x01CF30, 0x01CF46 },
+ { 0x01D167, 0x01D169 },
+ { 0x01D17B, 0x01D182 },
+ { 0x01D185, 0x01D18B },
+ { 0x01D1AA, 0x01D1AD },
+ { 0x01D242, 0x01D244 },
+ { 0x01DA00, 0x01DA36 },
+ { 0x01DA3B, 0x01DA6C },
+ { 0x01DA75, 0x01DA75 },
+ { 0x01DA84, 0x01DA84 },
+ { 0x01DA9B, 0x01DA9F },
+ { 0x01DAA1, 0x01DAAF },
+ { 0x01E000, 0x01E006 },
+ { 0x01E008, 0x01E018 },
+ { 0x01E01B, 0x01E021 },
+ { 0x01E023, 0x01E024 },
+ { 0x01E026, 0x01E02A },
+ { 0x01E08F, 0x01E08F },
+ { 0x01E130, 0x01E136 },
+ { 0x01E2AE, 0x01E2AE },
+ { 0x01E2EC, 0x01E2EF },
+ { 0x01E4EC, 0x01E4EF },
+ { 0x01E5EE, 0x01E5EF },
+ { 0x01E6E3, 0x01E6E3 },
+ { 0x01E6E6, 0x01E6E6 },
+ { 0x01E6EE, 0x01E6EF },
+ { 0x01E6F5, 0x01E6F5 },
+ { 0x01E8D0, 0x01E8D6 },
+ { 0x01E944, 0x01E94A },
+ { 0x0E0100, 0x0E01EF },
+ };
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/ZeroTable.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/ZeroTable.cs
new file mode 100755
index 0000000000..a365069666
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Tables/ZeroTable.cs
@@ -0,0 +1,43 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+
+namespace Wcwidth
+{
+ internal static partial class ZeroTable
+ {
+ private static readonly Dictionary _lookup;
+ private static readonly object _lock;
+
+ static ZeroTable()
+ {
+ _lookup = new Dictionary();
+ _lock = new object();
+ }
+
+ public static uint[,] GetTable(Unicode version)
+ {
+ if (!_lookup.TryGetValue(version, out var table))
+ {
+ lock (_lock)
+ {
+ if (_lookup.TryGetValue(version, out table))
+ {
+ return table;
+ }
+
+ // Generate the table for the version dynamically
+ // since we don't want to load everything into memory.
+ table = GenerateTable(version);
+ _lookup[version] = table;
+ }
+ }
+
+ return table;
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Unicode.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Unicode.cs
new file mode 100755
index 0000000000..b78f6f7563
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/Unicode.cs
@@ -0,0 +1,149 @@
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Wcwidth
+{
+ ///
+ /// Represents a Unicode version.
+ ///
+ [SuppressMessage("Naming", "CA1707:Identifiers should not contain underscores")]
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ enum Unicode
+ {
+ ///
+ /// Unicode version 4.1.0.
+ ///
+ [Description("4.1.0")]
+ Version_4_1_0,
+
+ ///
+ /// Unicode version 5.0.0.
+ ///
+ [Description("5.0.0")]
+ Version_5_0_0,
+
+ ///
+ /// Unicode version 5.1.0.
+ ///
+ [Description("5.1.0")]
+ Version_5_1_0,
+
+ ///
+ /// Unicode version 5.2.0.
+ ///
+ [Description("5.2.0")]
+ Version_5_2_0,
+
+ ///
+ /// Unicode version 6.0.0.
+ ///
+ [Description("6.0.0")]
+ Version_6_0_0,
+
+ ///
+ /// Unicode version 6.1.0.
+ ///
+ [Description("6.1.0")]
+ Version_6_1_0,
+
+ ///
+ /// Unicode version 6.2.0.
+ ///
+ [Description("6.2.0")]
+ Version_6_2_0,
+
+ ///
+ /// Unicode version 6.3.0.
+ ///
+ [Description("6.3.0")]
+ Version_6_3_0,
+
+ ///
+ /// Unicode version 7.0.0.
+ ///
+ [Description("7.0.0")]
+ Version_7_0_0,
+
+ ///
+ /// Unicode version 8.0.0.
+ ///
+ [Description("8.0.0")]
+ Version_8_0_0,
+
+ ///
+ /// Unicode version 9.0.0.
+ ///
+ [Description("9.0.0")]
+ Version_9_0_0,
+
+ ///
+ /// Unicode version 10.0.0.
+ ///
+ [Description("10.0.0")]
+ Version_10_0_0,
+
+ ///
+ /// Unicode version 11.0.0.
+ ///
+ [Description("11.0.0")]
+ Version_11_0_0,
+
+ ///
+ /// Unicode version 12.0.0.
+ ///
+ [Description("12.0.0")]
+ Version_12_0_0,
+
+ ///
+ /// Unicode version 12.1.0.
+ ///
+ [Description("12.1.0")]
+ Version_12_1_0,
+
+ ///
+ /// Unicode version 13.0.0.
+ ///
+ [Description("13.0.0")]
+ Version_13_0_0,
+
+ ///
+ /// Unicode version 14.0.0.
+ ///
+ [Description("14.0.0")]
+ Version_14_0_0,
+
+ ///
+ /// Unicode version 15.0.0.
+ ///
+ [Description("15.0.0")]
+ Version_15_0_0,
+
+ ///
+ /// Unicode version 15.1.0.
+ ///
+ [Description("15.1.0")]
+ Version_15_1_0,
+
+ ///
+ /// Unicode version 16.0.0.
+ ///
+ [Description("16.0.0")]
+ Version_16_0_0,
+
+ ///
+ /// Unicode version 17.0.0.
+ ///
+ [Description("17.0.0")]
+ Version_17_0_0,
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/UnicodeCalculator.cs b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/UnicodeCalculator.cs
new file mode 100755
index 0000000000..bc9881da22
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/contentFiles/cs/netstandard2.0/External/Wcwidth/UnicodeCalculator.cs
@@ -0,0 +1,153 @@
+// This is a port of the Python version of wcwidth() written by Jeff Quast,
+// which originally was written by Markus Kuhn.
+//
+// https://github.com/jquast/wcwidth
+// http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+//
+// In fixed-width output devices, Latin characters all occupy a single "cell" position
+// of equal width, whereas ideographic CJK characters occupy two such cells. Interoperability
+// between terminal-line applications and (teletype-style) character terminals using the
+// UTF-8 encoding requires agreement on which character should advance the cursor by how
+// many cell positions. No established formal standards exist at present on which Unicode
+// character shall occupy how many cell positions on character terminals. These routines
+// are a first attempt of defining such behavior based on simple rules applied to data
+// provided by the Unicode Consortium.
+//
+// For some graphical characters, the Unicode standard explicitly defines a character-cell
+// width via the definition of the East Asian FullWidth (F), Wide (W), Half-width (H),
+// and Narrow (Na) classes. In all these cases, there is no ambiguity about which width
+// a terminal shall use. For characters in the East Asian Ambiguous (A) class, the width
+// choice depends purely on a preference of backward compatibility with either historic
+// CJK or Western practice. Choosing single-width for these characters is easy to justify
+// as the appropriate long-term solution, as the CJK practice of displaying these characters
+// as double-width comes from historic implementation simplicity (8-bit encoded characters
+// were displayed single-width and 16-bit ones double-width, even for Greek, Cyrillic, etc.)
+// and not any typographic considerations.
+//
+// Much less clear is the choice of width for the Not East Asian (Neutral) class.
+// Existing practice does not dictate a width for any of these characters. It would
+// nevertheless make sense typographically to allocate two character cells to characters
+// such as for instance EM SPACE or VOLUME INTEGRAL, which cannot be represented adequately
+// with a single-width glyph. The following routines at present merely assign a single-cell
+// width to all neutral characters, in the interest of simplicity. This is not entirely
+// satisfactory and should be reconsidered before establishing a formal standard in this area.
+// At the moment, the decision which Not East Asian (Neutral) characters should be represented
+// by double-width glyphs cannot yet be answered by applying a simple rule from the Unicode
+// database content. Setting up a proper standard for the behavior of UTF-8 character
+// terminals will require a careful analysis not only of each Unicode character, but also
+// of each presentation form, something the author of these routines has avoided to do so far.
+//
+// http://www.unicode.org/unicode/reports/tr11/
+
+#if WCWIDTH
+#pragma warning restore
+#else
+#pragma warning disable
+#endif
+
+using System.Collections.Generic;
+#if NET6_0_OR_GREATER
+using System.Text;
+#endif
+
+namespace Wcwidth
+{
+ ///
+ /// A utility for calculating the width of Unicode characters.
+ ///
+#if WCWIDTH_VISIBILITY_INTERNAL
+ internal
+#else
+ public
+#endif
+ static class UnicodeCalculator
+ {
+ private const Unicode Latest = Unicode.Version_16_0_0;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ // Also includes some Cc, Mn, Zl, and Zp characters
+ private static readonly HashSet _zeroWidthCf = new HashSet
+ {
+ 0, // Null (Cc)
+ 0x034F, // Combining grapheme joiner (Mn)
+ 0x200B, // Zero width space
+ 0x200C, // Zero width non-joiner
+ 0x200D, // Zero width joiner
+ 0x200E, // Left-to-right mark
+ 0x200F, // Right-to-left mark
+ 0x2028, // Line separator (Zl)
+ 0x2029, // Paragraph separator (Zp)
+ 0x202A, // Left-to-right embedding
+ 0x202B, // Right-to-left embedding
+ 0x202C, // Pop directional formatting
+ 0x202D, // Left-to-right override
+ 0x202E, // Right-to-left override
+ 0x2060, // Word joiner
+ 0x2061, // Function application
+ 0x2062, // Invisible times
+ 0x2063, // Invisible separator
+ };
+
+ ///
+ /// Gets the width of a Unicode code point.
+ ///
+ /// The Unicode code point to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(int value, Unicode? version = null)
+ {
+ version ??= Latest;
+
+ // NOTE: created by hand, there isn't anything identifiable other than
+ // general Cf category code to identify these, and some characters in Cf
+ // category code are of non-zero width.
+ if (_zeroWidthCf.Contains((uint)value))
+ {
+ return 0;
+ }
+
+ // C0/C1 control characters
+ if (value < 32 || (value >= 0x07F && value < 0x0A0))
+ {
+ return -1;
+ }
+
+ // Combining characters with zero width?
+ var zeroTable = ZeroTable.GetTable(version.Value);
+ if (zeroTable.Exist((uint)value))
+ {
+ return 0;
+ }
+
+ // Wide character?
+ var wideTable = WideTable.GetTable(version.Value);
+ return wideTable.Exist((uint)value) ? 2 : 1;
+ }
+
+#if NET6_0_OR_GREATER
+ ///
+ /// Gets the width of a Unicode scalar.
+ ///
+ /// The Unicode scalar to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(Rune value, Unicode? version = null)
+ {
+ return GetWidth(value.Value, version);
+ }
+#endif
+
+ ///
+ /// Gets the width of a UTF-16 code unit.
+ ///
+ /// The UTF-16 code unit to calculate the width of.
+ /// The Unicode version to use.
+ /// The width of the character (-1, 0, 1, 2).
+ public static int GetWidth(char value, Unicode? version = null)
+ {
+ return GetWidth((int)value, version);
+ }
+ }
+}
diff --git a/src/textOnlyPackages/src/wcwidth.sources/3.0.0/wcwidth.sources.nuspec b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/wcwidth.sources.nuspec
new file mode 100644
index 0000000000..2709fb199a
--- /dev/null
+++ b/src/textOnlyPackages/src/wcwidth.sources/3.0.0/wcwidth.sources.nuspec
@@ -0,0 +1,45 @@
+
+
+
+ Wcwidth.Sources
+ 3.0.0
+ Patrik Svensson, Phil Scott
+ false
+ MIT
+ https://licenses.nuget.org/MIT
+ https://github.com/spectreconsole/wcwidth
+ A .NET library that calculates the width of Unicode characters.
+ https://github.com/spectreconsole/wcwidth/releases
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file