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