From 0301cd8b3c2ad2ca0b08050330d6d9b45aeb9b2d Mon Sep 17 00:00:00 2001 From: Jon Stovell Date: Tue, 15 Oct 2024 13:45:12 -0600 Subject: [PATCH 1/2] Allow Khmer Vowel Inherent AQ and Khmer Vowel Inherent AA Signed-off-by: Jon Stovell --- Sources/Unicode/Utf8String.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Sources/Unicode/Utf8String.php b/Sources/Unicode/Utf8String.php index ffa92ea61a..750493a2c5 100644 --- a/Sources/Unicode/Utf8String.php +++ b/Sources/Unicode/Utf8String.php @@ -516,10 +516,6 @@ public function sanitizeInvisibles(int $level, string $substitute): object $disallowed[] = '[' . implode('', [ // Soft Hyphen. '\x{AD}', - // Khmer Vowel Inherent AQ and Khmer Vowel Inherent AA. - // Unicode Standard ch. 16 says: "they are insufficient for [their] - // purpose and should be considered errors in the encoding." - '\x{17B4}-\x{17B5}', // Invisible math characters. '\x{2061}-\x{2064}', // Deprecated formatting characters. From 3929119eed9c88c134cb6b65d4acfef7bca653ec Mon Sep 17 00:00:00 2001 From: Jon Stovell Date: Tue, 15 Oct 2024 13:48:46 -0600 Subject: [PATCH 2/2] Updates included Unicode data to version 16 Signed-off-by: Jon Stovell --- Sources/Unicode/CaseFold.php | 54 + Sources/Unicode/CaseLower.php | 54 + Sources/Unicode/CaseUpper.php | 54 + Sources/Unicode/CombiningClasses.php | 12 + Sources/Unicode/Composition.php | 20 + Sources/Unicode/Confusables.php | 660 +++++++++- Sources/Unicode/DecompositionCanonical.php | 20 + .../Unicode/DecompositionCompatibility.php | 36 + Sources/Unicode/Idna.php | 1145 +++++++---------- Sources/Unicode/Metadata.php | 2 +- Sources/Unicode/QuickCheck.php | 47 +- Sources/Unicode/RegularExpressions.php | 351 +++-- 12 files changed, 1633 insertions(+), 822 deletions(-) diff --git a/Sources/Unicode/CaseFold.php b/Sources/Unicode/CaseFold.php index c8192b8b09..236a37022a 100644 --- a/Sources/Unicode/CaseFold.php +++ b/Sources/Unicode/CaseFold.php @@ -564,6 +564,7 @@ function utf8_casefold_simple_maps(): array "\xE1\xB2\x86" => "\xD1\x8A", "\xE1\xB2\x87" => "\xD1\xA3", "\xE1\xB2\x88" => "\xEA\x99\x8B", + "\xE1\xB2\x89" => "\xE1\xB2\x8A", "\xE1\xB2\x90" => "\xE1\x83\x90", "\xE1\xB2\x91" => "\xE1\x83\x91", "\xE1\xB2\x92" => "\xE1\x83\x92", @@ -1116,9 +1117,13 @@ function utf8_casefold_simple_maps(): array "\xEA\x9F\x86" => "\xE1\xB6\x8E", "\xEA\x9F\x87" => "\xEA\x9F\x88", "\xEA\x9F\x89" => "\xEA\x9F\x8A", + "\xEA\x9F\x8B" => "\xC9\xA4", + "\xEA\x9F\x8C" => "\xEA\x9F\x8D", "\xEA\x9F\x90" => "\xEA\x9F\x91", "\xEA\x9F\x96" => "\xEA\x9F\x97", "\xEA\x9F\x98" => "\xEA\x9F\x99", + "\xEA\x9F\x9A" => "\xEA\x9F\x9B", + "\xEA\x9F\x9C" => "\xC6\x9B", "\xEA\x9F\xB5" => "\xEA\x9F\xB6", "\xEA\xAD\xB0" => "\xE1\x8E\xA0", "\xEA\xAD\xB1" => "\xE1\x8E\xA1", @@ -1389,6 +1394,28 @@ function utf8_casefold_simple_maps(): array "\xF0\x90\xB2\xB0" => "\xF0\x90\xB3\xB0", "\xF0\x90\xB2\xB1" => "\xF0\x90\xB3\xB1", "\xF0\x90\xB2\xB2" => "\xF0\x90\xB3\xB2", + "\xF0\x90\xB5\x90" => "\xF0\x90\xB5\xB0", + "\xF0\x90\xB5\x91" => "\xF0\x90\xB5\xB1", + "\xF0\x90\xB5\x92" => "\xF0\x90\xB5\xB2", + "\xF0\x90\xB5\x93" => "\xF0\x90\xB5\xB3", + "\xF0\x90\xB5\x94" => "\xF0\x90\xB5\xB4", + "\xF0\x90\xB5\x95" => "\xF0\x90\xB5\xB5", + "\xF0\x90\xB5\x96" => "\xF0\x90\xB5\xB6", + "\xF0\x90\xB5\x97" => "\xF0\x90\xB5\xB7", + "\xF0\x90\xB5\x98" => "\xF0\x90\xB5\xB8", + "\xF0\x90\xB5\x99" => "\xF0\x90\xB5\xB9", + "\xF0\x90\xB5\x9A" => "\xF0\x90\xB5\xBA", + "\xF0\x90\xB5\x9B" => "\xF0\x90\xB5\xBB", + "\xF0\x90\xB5\x9C" => "\xF0\x90\xB5\xBC", + "\xF0\x90\xB5\x9D" => "\xF0\x90\xB5\xBD", + "\xF0\x90\xB5\x9E" => "\xF0\x90\xB5\xBE", + "\xF0\x90\xB5\x9F" => "\xF0\x90\xB5\xBF", + "\xF0\x90\xB5\xA0" => "\xF0\x90\xB6\x80", + "\xF0\x90\xB5\xA1" => "\xF0\x90\xB6\x81", + "\xF0\x90\xB5\xA2" => "\xF0\x90\xB6\x82", + "\xF0\x90\xB5\xA3" => "\xF0\x90\xB6\x83", + "\xF0\x90\xB5\xA4" => "\xF0\x90\xB6\x84", + "\xF0\x90\xB5\xA5" => "\xF0\x90\xB6\x85", "\xF0\x91\xA2\xA0" => "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA1" => "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA2" => "\xF0\x91\xA3\x82", @@ -2042,6 +2069,7 @@ function utf8_casefold_maps(): array "\xE1\xB2\x86" => "\xD1\x8A", "\xE1\xB2\x87" => "\xD1\xA3", "\xE1\xB2\x88" => "\xEA\x99\x8B", + "\xE1\xB2\x89" => "\xE1\xB2\x8A", "\xE1\xB2\x90" => "\xE1\x83\x90", "\xE1\xB2\x91" => "\xE1\x83\x91", "\xE1\xB2\x92" => "\xE1\x83\x92", @@ -2649,9 +2677,13 @@ function utf8_casefold_maps(): array "\xEA\x9F\x86" => "\xE1\xB6\x8E", "\xEA\x9F\x87" => "\xEA\x9F\x88", "\xEA\x9F\x89" => "\xEA\x9F\x8A", + "\xEA\x9F\x8B" => "\xC9\xA4", + "\xEA\x9F\x8C" => "\xEA\x9F\x8D", "\xEA\x9F\x90" => "\xEA\x9F\x91", "\xEA\x9F\x96" => "\xEA\x9F\x97", "\xEA\x9F\x98" => "\xEA\x9F\x99", + "\xEA\x9F\x9A" => "\xEA\x9F\x9B", + "\xEA\x9F\x9C" => "\xC6\x9B", "\xEA\x9F\xB5" => "\xEA\x9F\xB6", "\xEA\xAD\xB0" => "\xE1\x8E\xA0", "\xEA\xAD\xB1" => "\xE1\x8E\xA1", @@ -2933,6 +2965,28 @@ function utf8_casefold_maps(): array "\xF0\x90\xB2\xB0" => "\xF0\x90\xB3\xB0", "\xF0\x90\xB2\xB1" => "\xF0\x90\xB3\xB1", "\xF0\x90\xB2\xB2" => "\xF0\x90\xB3\xB2", + "\xF0\x90\xB5\x90" => "\xF0\x90\xB5\xB0", + "\xF0\x90\xB5\x91" => "\xF0\x90\xB5\xB1", + "\xF0\x90\xB5\x92" => "\xF0\x90\xB5\xB2", + "\xF0\x90\xB5\x93" => "\xF0\x90\xB5\xB3", + "\xF0\x90\xB5\x94" => "\xF0\x90\xB5\xB4", + "\xF0\x90\xB5\x95" => "\xF0\x90\xB5\xB5", + "\xF0\x90\xB5\x96" => "\xF0\x90\xB5\xB6", + "\xF0\x90\xB5\x97" => "\xF0\x90\xB5\xB7", + "\xF0\x90\xB5\x98" => "\xF0\x90\xB5\xB8", + "\xF0\x90\xB5\x99" => "\xF0\x90\xB5\xB9", + "\xF0\x90\xB5\x9A" => "\xF0\x90\xB5\xBA", + "\xF0\x90\xB5\x9B" => "\xF0\x90\xB5\xBB", + "\xF0\x90\xB5\x9C" => "\xF0\x90\xB5\xBC", + "\xF0\x90\xB5\x9D" => "\xF0\x90\xB5\xBD", + "\xF0\x90\xB5\x9E" => "\xF0\x90\xB5\xBE", + "\xF0\x90\xB5\x9F" => "\xF0\x90\xB5\xBF", + "\xF0\x90\xB5\xA0" => "\xF0\x90\xB6\x80", + "\xF0\x90\xB5\xA1" => "\xF0\x90\xB6\x81", + "\xF0\x90\xB5\xA2" => "\xF0\x90\xB6\x82", + "\xF0\x90\xB5\xA3" => "\xF0\x90\xB6\x83", + "\xF0\x90\xB5\xA4" => "\xF0\x90\xB6\x84", + "\xF0\x90\xB5\xA5" => "\xF0\x90\xB6\x85", "\xF0\x91\xA2\xA0" => "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA1" => "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA2" => "\xF0\x91\xA3\x82", diff --git a/Sources/Unicode/CaseLower.php b/Sources/Unicode/CaseLower.php index b01379c20c..ac1bbe83f0 100644 --- a/Sources/Unicode/CaseLower.php +++ b/Sources/Unicode/CaseLower.php @@ -625,6 +625,7 @@ function utf8_strtolower_simple_maps(): array "\xE1\x8F\xB3" => "\xE1\x8F\xBB", "\xE1\x8F\xB4" => "\xE1\x8F\xBC", "\xE1\x8F\xB5" => "\xE1\x8F\xBD", + "\xE1\xB2\x89" => "\xE1\xB2\x8A", "\xE1\xB2\x90" => "\xE1\x83\x90", "\xE1\xB2\x91" => "\xE1\x83\x91", "\xE1\xB2\x92" => "\xE1\x83\x92", @@ -1173,9 +1174,13 @@ function utf8_strtolower_simple_maps(): array "\xEA\x9F\x86" => "\xE1\xB6\x8E", "\xEA\x9F\x87" => "\xEA\x9F\x88", "\xEA\x9F\x89" => "\xEA\x9F\x8A", + "\xEA\x9F\x8B" => "\xC9\xA4", + "\xEA\x9F\x8C" => "\xEA\x9F\x8D", "\xEA\x9F\x90" => "\xEA\x9F\x91", "\xEA\x9F\x96" => "\xEA\x9F\x97", "\xEA\x9F\x98" => "\xEA\x9F\x99", + "\xEA\x9F\x9A" => "\xEA\x9F\x9B", + "\xEA\x9F\x9C" => "\xC6\x9B", "\xEA\x9F\xB5" => "\xEA\x9F\xB6", "\xEF\xBC\xA1" => "\xEF\xBD\x81", "\xEF\xBC\xA2" => "\xEF\xBD\x82", @@ -1365,6 +1370,28 @@ function utf8_strtolower_simple_maps(): array "\xF0\x90\xB2\xB0" => "\xF0\x90\xB3\xB0", "\xF0\x90\xB2\xB1" => "\xF0\x90\xB3\xB1", "\xF0\x90\xB2\xB2" => "\xF0\x90\xB3\xB2", + "\xF0\x90\xB5\x90" => "\xF0\x90\xB5\xB0", + "\xF0\x90\xB5\x91" => "\xF0\x90\xB5\xB1", + "\xF0\x90\xB5\x92" => "\xF0\x90\xB5\xB2", + "\xF0\x90\xB5\x93" => "\xF0\x90\xB5\xB3", + "\xF0\x90\xB5\x94" => "\xF0\x90\xB5\xB4", + "\xF0\x90\xB5\x95" => "\xF0\x90\xB5\xB5", + "\xF0\x90\xB5\x96" => "\xF0\x90\xB5\xB6", + "\xF0\x90\xB5\x97" => "\xF0\x90\xB5\xB7", + "\xF0\x90\xB5\x98" => "\xF0\x90\xB5\xB8", + "\xF0\x90\xB5\x99" => "\xF0\x90\xB5\xB9", + "\xF0\x90\xB5\x9A" => "\xF0\x90\xB5\xBA", + "\xF0\x90\xB5\x9B" => "\xF0\x90\xB5\xBB", + "\xF0\x90\xB5\x9C" => "\xF0\x90\xB5\xBC", + "\xF0\x90\xB5\x9D" => "\xF0\x90\xB5\xBD", + "\xF0\x90\xB5\x9E" => "\xF0\x90\xB5\xBE", + "\xF0\x90\xB5\x9F" => "\xF0\x90\xB5\xBF", + "\xF0\x90\xB5\xA0" => "\xF0\x90\xB6\x80", + "\xF0\x90\xB5\xA1" => "\xF0\x90\xB6\x81", + "\xF0\x90\xB5\xA2" => "\xF0\x90\xB6\x82", + "\xF0\x90\xB5\xA3" => "\xF0\x90\xB6\x83", + "\xF0\x90\xB5\xA4" => "\xF0\x90\xB6\x84", + "\xF0\x90\xB5\xA5" => "\xF0\x90\xB6\x85", "\xF0\x91\xA2\xA0" => "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA1" => "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA2" => "\xF0\x91\xA3\x82", @@ -2154,6 +2181,28 @@ function utf8_strtolower_maps(): array "\xF0\x90\xB2\xB1" => "\xF0\x90\xB3\xB1", "\xF0\x90\xB2\xB2" => "\xF0\x90\xB3\xB2", "\xE1\x83\x8D" => "\xE2\xB4\xAD", + "\xF0\x90\xB5\x90" => "\xF0\x90\xB5\xB0", + "\xF0\x90\xB5\x91" => "\xF0\x90\xB5\xB1", + "\xF0\x90\xB5\x92" => "\xF0\x90\xB5\xB2", + "\xF0\x90\xB5\x93" => "\xF0\x90\xB5\xB3", + "\xF0\x90\xB5\x94" => "\xF0\x90\xB5\xB4", + "\xF0\x90\xB5\x95" => "\xF0\x90\xB5\xB5", + "\xF0\x90\xB5\x96" => "\xF0\x90\xB5\xB6", + "\xF0\x90\xB5\x97" => "\xF0\x90\xB5\xB7", + "\xF0\x90\xB5\x98" => "\xF0\x90\xB5\xB8", + "\xF0\x90\xB5\x99" => "\xF0\x90\xB5\xB9", + "\xF0\x90\xB5\x9A" => "\xF0\x90\xB5\xBA", + "\xF0\x90\xB5\x9B" => "\xF0\x90\xB5\xBB", + "\xF0\x90\xB5\x9C" => "\xF0\x90\xB5\xBC", + "\xF0\x90\xB5\x9D" => "\xF0\x90\xB5\xBD", + "\xF0\x90\xB5\x9E" => "\xF0\x90\xB5\xBE", + "\xF0\x90\xB5\x9F" => "\xF0\x90\xB5\xBF", + "\xF0\x90\xB5\xA0" => "\xF0\x90\xB6\x80", + "\xF0\x90\xB5\xA1" => "\xF0\x90\xB6\x81", + "\xF0\x90\xB5\xA2" => "\xF0\x90\xB6\x82", + "\xF0\x90\xB5\xA3" => "\xF0\x90\xB6\x83", + "\xF0\x90\xB5\xA4" => "\xF0\x90\xB6\x84", + "\xF0\x90\xB5\xA5" => "\xF0\x90\xB6\x85", "\xF0\x91\xA2\xA0" => "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA1" => "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA2" => "\xF0\x91\xA3\x82", @@ -2304,6 +2353,7 @@ function utf8_strtolower_maps(): array "\xF0\x96\xB9\x9D" => "\xF0\x96\xB9\xBD", "\xF0\x96\xB9\x9E" => "\xF0\x96\xB9\xBE", "\xF0\x96\xB9\x9F" => "\xF0\x96\xB9\xBF", + "\xE1\xB2\x89" => "\xE1\xB2\x8A", "\xE1\xB2\x90" => "\xE1\x83\x90", "\xE1\xB2\x91" => "\xE1\x83\x91", "\xE1\xB2\x92" => "\xE1\x83\x92", @@ -2943,9 +2993,13 @@ function utf8_strtolower_maps(): array "\xEA\x9F\x86" => "\xE1\xB6\x8E", "\xEA\x9F\x87" => "\xEA\x9F\x88", "\xEA\x9F\x89" => "\xEA\x9F\x8A", + "\xEA\x9F\x8B" => "\xC9\xA4", + "\xEA\x9F\x8C" => "\xEA\x9F\x8D", "\xEA\x9F\x90" => "\xEA\x9F\x91", "\xEA\x9F\x96" => "\xEA\x9F\x97", "\xEA\x9F\x98" => "\xEA\x9F\x99", + "\xEA\x9F\x9A" => "\xEA\x9F\x9B", + "\xEA\x9F\x9C" => "\xC6\x9B", "\xEA\x9F\xB5" => "\xEA\x9F\xB6", "\xEF\xAC\x80" => "\xEF\xAC\x80", "\xEF\xAC\x81" => "\xEF\xAC\x81", diff --git a/Sources/Unicode/CaseUpper.php b/Sources/Unicode/CaseUpper.php index 25937560f5..e18c52a324 100644 --- a/Sources/Unicode/CaseUpper.php +++ b/Sources/Unicode/CaseUpper.php @@ -160,6 +160,7 @@ function utf8_strtoupper_simple_maps(): array "\xC6\x95" => "\xC7\xB6", "\xC6\x99" => "\xC6\x98", "\xC6\x9A" => "\xC8\xBD", + "\xC6\x9B" => "\xEA\x9F\x9C", "\xC6\x9E" => "\xC8\xA0", "\xC6\xA1" => "\xC6\xA0", "\xC6\xA3" => "\xC6\xA2", @@ -250,6 +251,7 @@ function utf8_strtoupper_simple_maps(): array "\xC9\xA0" => "\xC6\x93", "\xC9\xA1" => "\xEA\x9E\xAC", "\xC9\xA3" => "\xC6\x94", + "\xC9\xA4" => "\xEA\x9F\x8B", "\xC9\xA5" => "\xEA\x9E\x8D", "\xC9\xA6" => "\xEA\x9E\xAA", "\xC9\xA8" => "\xC6\x97", @@ -586,6 +588,7 @@ function utf8_strtoupper_simple_maps(): array "\xE1\xB2\x86" => "\xD0\xAA", "\xE1\xB2\x87" => "\xD1\xA2", "\xE1\xB2\x88" => "\xEA\x99\x8A", + "\xE1\xB2\x8A" => "\xE1\xB2\x89", "\xE1\xB5\xB9" => "\xEA\x9D\xBD", "\xE1\xB5\xBD" => "\xE2\xB1\xA3", "\xE1\xB6\x8E" => "\xEA\x9F\x86", @@ -1109,9 +1112,11 @@ function utf8_strtoupper_simple_maps(): array "\xEA\x9F\x83" => "\xEA\x9F\x82", "\xEA\x9F\x88" => "\xEA\x9F\x87", "\xEA\x9F\x8A" => "\xEA\x9F\x89", + "\xEA\x9F\x8D" => "\xEA\x9F\x8C", "\xEA\x9F\x91" => "\xEA\x9F\x90", "\xEA\x9F\x97" => "\xEA\x9F\x96", "\xEA\x9F\x99" => "\xEA\x9F\x98", + "\xEA\x9F\x9B" => "\xEA\x9F\x9A", "\xEA\x9F\xB6" => "\xEA\x9F\xB5", "\xEA\xAD\x93" => "\xEA\x9E\xB3", "\xEA\xAD\xB0" => "\xE1\x8E\xA0", @@ -1382,6 +1387,28 @@ function utf8_strtoupper_simple_maps(): array "\xF0\x90\xB3\xB0" => "\xF0\x90\xB2\xB0", "\xF0\x90\xB3\xB1" => "\xF0\x90\xB2\xB1", "\xF0\x90\xB3\xB2" => "\xF0\x90\xB2\xB2", + "\xF0\x90\xB5\xB0" => "\xF0\x90\xB5\x90", + "\xF0\x90\xB5\xB1" => "\xF0\x90\xB5\x91", + "\xF0\x90\xB5\xB2" => "\xF0\x90\xB5\x92", + "\xF0\x90\xB5\xB3" => "\xF0\x90\xB5\x93", + "\xF0\x90\xB5\xB4" => "\xF0\x90\xB5\x94", + "\xF0\x90\xB5\xB5" => "\xF0\x90\xB5\x95", + "\xF0\x90\xB5\xB6" => "\xF0\x90\xB5\x96", + "\xF0\x90\xB5\xB7" => "\xF0\x90\xB5\x97", + "\xF0\x90\xB5\xB8" => "\xF0\x90\xB5\x98", + "\xF0\x90\xB5\xB9" => "\xF0\x90\xB5\x99", + "\xF0\x90\xB5\xBA" => "\xF0\x90\xB5\x9A", + "\xF0\x90\xB5\xBB" => "\xF0\x90\xB5\x9B", + "\xF0\x90\xB5\xBC" => "\xF0\x90\xB5\x9C", + "\xF0\x90\xB5\xBD" => "\xF0\x90\xB5\x9D", + "\xF0\x90\xB5\xBE" => "\xF0\x90\xB5\x9E", + "\xF0\x90\xB5\xBF" => "\xF0\x90\xB5\x9F", + "\xF0\x90\xB6\x80" => "\xF0\x90\xB5\xA0", + "\xF0\x90\xB6\x81" => "\xF0\x90\xB5\xA1", + "\xF0\x90\xB6\x82" => "\xF0\x90\xB5\xA2", + "\xF0\x90\xB6\x83" => "\xF0\x90\xB5\xA3", + "\xF0\x90\xB6\x84" => "\xF0\x90\xB5\xA4", + "\xF0\x90\xB6\x85" => "\xF0\x90\xB5\xA5", "\xF0\x91\xA3\x80" => "\xF0\x91\xA2\xA0", "\xF0\x91\xA3\x81" => "\xF0\x91\xA2\xA1", "\xF0\x91\xA3\x82" => "\xF0\x91\xA2\xA2", @@ -1627,6 +1654,7 @@ function utf8_strtoupper_maps(): array "\xC6\x95" => "\xC7\xB6", "\xC6\x99" => "\xC6\x98", "\xC6\x9A" => "\xC8\xBD", + "\xC6\x9B" => "\xEA\x9F\x9C", "\xC6\x9E" => "\xC8\xA0", "\xC6\xA1" => "\xC6\xA0", "\xC6\xA3" => "\xC6\xA2", @@ -1718,6 +1746,7 @@ function utf8_strtoupper_maps(): array "\xC9\xA0" => "\xC6\x93", "\xC9\xA1" => "\xEA\x9E\xAC", "\xC9\xA3" => "\xC6\x94", + "\xC9\xA4" => "\xEA\x9F\x8B", "\xC9\xA5" => "\xEA\x9E\x8D", "\xC9\xA6" => "\xEA\x9E\xAA", "\xC9\xA8" => "\xC6\x97", @@ -2165,7 +2194,29 @@ function utf8_strtoupper_maps(): array "\xE1\x83\x94" => "\xE1\xB2\x94", "\xE1\x83\x95" => "\xE1\xB2\x95", "\xE1\x83\x96" => "\xE1\xB2\x96", + "\xF0\x90\xB5\xB0" => "\xF0\x90\xB5\x90", + "\xF0\x90\xB5\xB1" => "\xF0\x90\xB5\x91", + "\xF0\x90\xB5\xB2" => "\xF0\x90\xB5\x92", + "\xF0\x90\xB5\xB3" => "\xF0\x90\xB5\x93", + "\xF0\x90\xB5\xB4" => "\xF0\x90\xB5\x94", + "\xF0\x90\xB5\xB5" => "\xF0\x90\xB5\x95", + "\xF0\x90\xB5\xB6" => "\xF0\x90\xB5\x96", + "\xF0\x90\xB5\xB7" => "\xF0\x90\xB5\x97", + "\xF0\x90\xB5\xB8" => "\xF0\x90\xB5\x98", + "\xF0\x90\xB5\xB9" => "\xF0\x90\xB5\x99", "\xE1\x83\x97" => "\xE1\xB2\x97", + "\xF0\x90\xB5\xBA" => "\xF0\x90\xB5\x9A", + "\xF0\x90\xB5\xBB" => "\xF0\x90\xB5\x9B", + "\xF0\x90\xB5\xBC" => "\xF0\x90\xB5\x9C", + "\xF0\x90\xB5\xBD" => "\xF0\x90\xB5\x9D", + "\xF0\x90\xB5\xBE" => "\xF0\x90\xB5\x9E", + "\xF0\x90\xB5\xBF" => "\xF0\x90\xB5\x9F", + "\xF0\x90\xB6\x80" => "\xF0\x90\xB5\xA0", + "\xF0\x90\xB6\x81" => "\xF0\x90\xB5\xA1", + "\xF0\x90\xB6\x82" => "\xF0\x90\xB5\xA2", + "\xF0\x90\xB6\x83" => "\xF0\x90\xB5\xA3", + "\xF0\x90\xB6\x84" => "\xF0\x90\xB5\xA4", + "\xF0\x90\xB6\x85" => "\xF0\x90\xB5\xA5", "\xE1\x83\x98" => "\xE1\xB2\x98", "\xE1\x83\x99" => "\xE1\xB2\x99", "\xE1\x83\x9A" => "\xE1\xB2\x9A", @@ -2283,6 +2334,7 @@ function utf8_strtoupper_maps(): array "\xE1\xB2\x86" => "\xD0\xAA", "\xE1\xB2\x87" => "\xD1\xA2", "\xE1\xB2\x88" => "\xEA\x99\x8A", + "\xE1\xB2\x8A" => "\xE1\xB2\x89", "\xE1\xB5\xB9" => "\xEA\x9D\xBD", "\xE1\xB5\xBD" => "\xE2\xB1\xA3", "\xE1\xB6\x8E" => "\xEA\x9F\x86", @@ -2897,9 +2949,11 @@ function utf8_strtoupper_maps(): array "\xEA\x9F\x83" => "\xEA\x9F\x82", "\xEA\x9F\x88" => "\xEA\x9F\x87", "\xEA\x9F\x8A" => "\xEA\x9F\x89", + "\xEA\x9F\x8D" => "\xEA\x9F\x8C", "\xEA\x9F\x91" => "\xEA\x9F\x90", "\xEA\x9F\x97" => "\xEA\x9F\x96", "\xEA\x9F\x99" => "\xEA\x9F\x98", + "\xEA\x9F\x9B" => "\xEA\x9F\x9A", "\xEA\x9F\xB6" => "\xEA\x9F\xB5", "\xEA\xAD\x93" => "\xEA\x9E\xB3", "\xEA\xAD\xB0" => "\xE1\x8E\xA0", diff --git a/Sources/Unicode/CombiningClasses.php b/Sources/Unicode/CombiningClasses.php index 4899923163..9e259807de 100644 --- a/Sources/Unicode/CombiningClasses.php +++ b/Sources/Unicode/CombiningClasses.php @@ -311,6 +311,7 @@ function utf8_combining_classes(): array "\xE0\xA1\x99" => 220, "\xE0\xA1\x9A" => 220, "\xE0\xA1\x9B" => 220, + "\xE0\xA2\x97" => 230, "\xE0\xA2\x98" => 230, "\xE0\xA2\x99" => 220, "\xE0\xA2\x9A" => 220, @@ -756,6 +757,11 @@ function utf8_combining_classes(): array "\xF0\x90\xB4\xA5" => 230, "\xF0\x90\xB4\xA6" => 230, "\xF0\x90\xB4\xA7" => 230, + "\xF0\x90\xB5\xA9" => 230, + "\xF0\x90\xB5\xAA" => 230, + "\xF0\x90\xB5\xAB" => 230, + "\xF0\x90\xB5\xAC" => 230, + "\xF0\x90\xB5\xAD" => 230, "\xF0\x90\xBA\xAB" => 230, "\xF0\x90\xBA\xAC" => 230, "\xF0\x90\xBB\xBD" => 220, @@ -808,6 +814,9 @@ function utf8_combining_classes(): array "\xF0\x91\x8D\xB2" => 230, "\xF0\x91\x8D\xB3" => 230, "\xF0\x91\x8D\xB4" => 230, + "\xF0\x91\x8F\x8E" => 9, + "\xF0\x91\x8F\x8F" => 9, + "\xF0\x91\x8F\x90" => 9, "\xF0\x91\x91\x82" => 9, "\xF0\x91\x91\x86" => 7, "\xF0\x91\x91\x9E" => 230, @@ -835,6 +844,7 @@ function utf8_combining_classes(): array "\xF0\x91\xB6\x97" => 9, "\xF0\x91\xBD\x81" => 9, "\xF0\x91\xBD\x82" => 9, + "\xF0\x96\x84\xAF" => 9, "\xF0\x96\xAB\xB0" => 1, "\xF0\x96\xAB\xB1" => 1, "\xF0\x96\xAB\xB2" => 1, @@ -938,6 +948,8 @@ function utf8_combining_classes(): array "\xF0\x9E\x93\xAD" => 232, "\xF0\x9E\x93\xAE" => 220, "\xF0\x9E\x93\xAF" => 230, + "\xF0\x9E\x97\xAE" => 230, + "\xF0\x9E\x97\xAF" => 220, "\xF0\x9E\xA3\x90" => 220, "\xF0\x9E\xA3\x91" => 220, "\xF0\x9E\xA3\x92" => 220, diff --git a/Sources/Unicode/Composition.php b/Sources/Unicode/Composition.php index 7cf5ca66fb..bbf0962641 100644 --- a/Sources/Unicode/Composition.php +++ b/Sources/Unicode/Composition.php @@ -958,6 +958,8 @@ function utf8_compose_maps(): array "\xE3\x83\xB1\xE3\x82\x99" => "\xE3\x83\xB9", "\xE3\x83\xB2\xE3\x82\x99" => "\xE3\x83\xBA", "\xE3\x83\xBD\xE3\x82\x99" => "\xE3\x83\xBE", + "\xF0\x90\x97\x92\xCC\x87" => "\xF0\x90\x97\x89", + "\xF0\x90\x97\x9A\xCC\x87" => "\xF0\x90\x97\xA4", "\xF0\x91\x82\x99\xF0\x91\x82\xBA" => "\xF0\x91\x82\x9A", "\xF0\x91\x82\x9B\xF0\x91\x82\xBA" => "\xF0\x91\x82\x9C", "\xF0\x91\x82\xA5\xF0\x91\x82\xBA" => "\xF0\x91\x82\xAB", @@ -965,12 +967,30 @@ function utf8_compose_maps(): array "\xF0\x91\x84\xB2\xF0\x91\x84\xA7" => "\xF0\x91\x84\xAF", "\xF0\x91\x8D\x87\xF0\x91\x8C\xBE" => "\xF0\x91\x8D\x8B", "\xF0\x91\x8D\x87\xF0\x91\x8D\x97" => "\xF0\x91\x8D\x8C", + "\xF0\x91\x8E\x82\xF0\x91\x8F\x89" => "\xF0\x91\x8E\x83", + "\xF0\x91\x8E\x84\xF0\x91\x8E\xBB" => "\xF0\x91\x8E\x85", + "\xF0\x91\x8E\x8B\xF0\x91\x8F\x82" => "\xF0\x91\x8E\x8E", + "\xF0\x91\x8E\x90\xF0\x91\x8F\x89" => "\xF0\x91\x8E\x91", + "\xF0\x91\x8F\x82\xF0\x91\x8F\x82" => "\xF0\x91\x8F\x85", + "\xF0\x91\x8F\x82\xF0\x91\x8E\xB8" => "\xF0\x91\x8F\x87", + "\xF0\x91\x8F\x82\xF0\x91\x8F\x89" => "\xF0\x91\x8F\x88", "\xF0\x91\x92\xB9\xF0\x91\x92\xBA" => "\xF0\x91\x92\xBB", "\xF0\x91\x92\xB9\xF0\x91\x92\xB0" => "\xF0\x91\x92\xBC", "\xF0\x91\x92\xB9\xF0\x91\x92\xBD" => "\xF0\x91\x92\xBE", "\xF0\x91\x96\xB8\xF0\x91\x96\xAF" => "\xF0\x91\x96\xBA", "\xF0\x91\x96\xB9\xF0\x91\x96\xAF" => "\xF0\x91\x96\xBB", "\xF0\x91\xA4\xB5\xF0\x91\xA4\xB0" => "\xF0\x91\xA4\xB8", + "\xF0\x96\x84\x9E\xF0\x96\x84\x9E" => "\xF0\x96\x84\xA1", + "\xF0\x96\x84\x9E\xF0\x96\x84\xA9" => "\xF0\x96\x84\xA2", + "\xF0\x96\x84\x9E\xF0\x96\x84\x9F" => "\xF0\x96\x84\xA3", + "\xF0\x96\x84\xA9\xF0\x96\x84\x9F" => "\xF0\x96\x84\xA4", + "\xF0\x96\x84\x9E\xF0\x96\x84\xA0" => "\xF0\x96\x84\xA5", + "\xF0\x96\x84\xA1\xF0\x96\x84\x9F" => "\xF0\x96\x84\xA6", + "\xF0\x96\x84\xA2\xF0\x96\x84\x9F" => "\xF0\x96\x84\xA7", + "\xF0\x96\x84\xA1\xF0\x96\x84\xA0" => "\xF0\x96\x84\xA8", + "\xF0\x96\xB5\xA7\xF0\x96\xB5\xA7" => "\xF0\x96\xB5\xA8", + "\xF0\x96\xB5\xA3\xF0\x96\xB5\xA7" => "\xF0\x96\xB5\xA9", + "\xF0\x96\xB5\xA9\xF0\x96\xB5\xA7" => "\xF0\x96\xB5\xAA", ]; } diff --git a/Sources/Unicode/Confusables.php b/Sources/Unicode/Confusables.php index 71b3de01e9..ef6cd87346 100644 --- a/Sources/Unicode/Confusables.php +++ b/Sources/Unicode/Confusables.php @@ -101,6 +101,7 @@ function utf8_confusables(): array "\xC6\x98" => "\x4B\x27", "\xC6\x99" => "\x6B\xCC\x94", "\xC6\x9A" => "\x6C\xCC\xB5", + "\xC6\x9B" => "\xCE\xBB\xCC\xB8", "\xC6\x9D" => "\x4E\xCC\xA6", "\xC6\x9E" => "\x6E\xCC\xA9", "\xC6\x9F" => "\x4F\xCC\xB5", @@ -1459,6 +1460,7 @@ function utf8_confusables(): array "\xE1\x9B\xAC" => "\x3A", "\xE1\x9B\xAD" => "\x2B", "\xE1\x9B\xB0" => "\xCE\xA6", + "\xE1\x9C\xB4" => "\xE1\x9C\x95", "\xE1\x9C\xB5" => "\x2F", "\xE1\x9E\xA3" => "\xE1\x9E\xA2", "\xE1\x9E\xB7" => "\xE0\xB8\xB4", @@ -1578,6 +1580,7 @@ function utf8_confusables(): array "\xE1\xB9\x83" => "\xEA\xAD\x91", "\xE1\xBA\x9A" => "\xE1\xBA\xA3", "\xE1\xBA\x9D" => "\x66", + "\xE1\xBA\x9E" => "\xC3\x9F", "\xE1\xBB\xBF" => "\x79", "\xE1\xBD\xBD" => "\xE1\xBF\xB4", "\xE1\xBE\xBD" => "\x27", @@ -2460,6 +2463,7 @@ function utf8_confusables(): array "\xE3\x83\x98" => "\xE3\x81\xB8", "\xE3\x83\xAD" => "\xE5\x8F\xA3", "\xE3\x83\xBB" => "\xC2\xB7", + "\xE3\x84\xA6" => "\xE5\x84\xBF", "\xE3\x84\xB1" => "\xE1\x84\x80", "\xE3\x84\xB2" => "\xE1\x84\x80\xE1\x84\x80", "\xE3\x84\xB3" => "\xE1\x84\x80\xE1\x84\x89", @@ -2879,6 +2883,10 @@ function utf8_confusables(): array "\xEA\x9E\xB5" => "\xC3\x9F", "\xEA\x9E\xB6" => "\xEA\x99\x8C", "\xEA\x9E\xB7" => "\xCF\x89", + "\xEA\x9F\x96" => "\xC3\x9F", + "\xEA\x9F\x9A" => "\xC9\x85", + "\xEA\x9F\x9B" => "\xCE\xBB", + "\xEA\x9F\x9C" => "\xC9\x85\xCC\xB8", "\xEA\x9F\xB7" => "\xE3\x83\xBC", "\xEA\xA0\xB0" => "\xE0\xA5\xA4", "\xEA\xA5\xA0" => "\xE1\x84\x83\xE1\x84\x86", @@ -4550,6 +4558,42 @@ function utf8_confusables(): array "\xF0\x96\xBD\x83" => "\x59", "\xF0\x96\xBD\x91" => "\x27", "\xF0\x96\xBD\x92" => "\x27", + "\xF0\x9C\xB3\x96" => "\x41", + "\xF0\x9C\xB3\x97" => "\x42", + "\xF0\x9C\xB3\x98" => "\x43", + "\xF0\x9C\xB3\x99" => "\x44", + "\xF0\x9C\xB3\x9A" => "\x45", + "\xF0\x9C\xB3\x9B" => "\x46", + "\xF0\x9C\xB3\x9C" => "\x47", + "\xF0\x9C\xB3\x9D" => "\x48", + "\xF0\x9C\xB3\x9E" => "\x6C", + "\xF0\x9C\xB3\x9F" => "\x4A", + "\xF0\x9C\xB3\xA0" => "\x4B", + "\xF0\x9C\xB3\xA1" => "\x4C", + "\xF0\x9C\xB3\xA2" => "\x4D", + "\xF0\x9C\xB3\xA3" => "\x4E", + "\xF0\x9C\xB3\xA4" => "\x4F", + "\xF0\x9C\xB3\xA5" => "\x50", + "\xF0\x9C\xB3\xA6" => "\x51", + "\xF0\x9C\xB3\xA7" => "\x52", + "\xF0\x9C\xB3\xA8" => "\x53", + "\xF0\x9C\xB3\xA9" => "\x54", + "\xF0\x9C\xB3\xAA" => "\x55", + "\xF0\x9C\xB3\xAB" => "\x56", + "\xF0\x9C\xB3\xAC" => "\x57", + "\xF0\x9C\xB3\xAD" => "\x58", + "\xF0\x9C\xB3\xAE" => "\x59", + "\xF0\x9C\xB3\xAF" => "\x5A", + "\xF0\x9C\xB3\xB0" => "\x4F", + "\xF0\x9C\xB3\xB1" => "\x6C", + "\xF0\x9C\xB3\xB2" => "\x32", + "\xF0\x9C\xB3\xB3" => "\x33", + "\xF0\x9C\xB3\xB4" => "\x34", + "\xF0\x9C\xB3\xB5" => "\x35", + "\xF0\x9C\xB3\xB6" => "\x36", + "\xF0\x9C\xB3\xB7" => "\x37", + "\xF0\x9C\xB3\xB8" => "\x38", + "\xF0\x9C\xB3\xB9" => "\x39", "\xF0\x9D\x84\x94" => "\x7B", "\xF0\x9D\x85\xAD" => "\x2E", "\xF0\x9D\x88\x82" => "\xD3\xBE", @@ -6392,6 +6436,28 @@ function utf8_character_scripts(): array "\xC2\xAA" => [ 'Latin', ], + "\xC2\xB6" => [ + 'Common', + ], + "\xC2\xB7" => [ + 'Common', + 'Avestan', + 'Carian', + 'Coptic', + 'Duployan', + 'Elbasan', + 'Georgian', + 'Glagolitic', + 'Gunjala_Gondi', + 'Gothic', + 'Greek', + 'Han', + 'Latin', + 'Lydian', + 'Mahajani', + 'Old_Permic', + 'Shavian', + ], "\xC2\xB9" => [ 'Common', ], @@ -6416,6 +6482,67 @@ function utf8_character_scripts(): array "\xCA\xB8" => [ 'Latin', ], + "\xCA\xBB" => [ + 'Common', + ], + "\xCA\xBC" => [ + 'Common', + 'Bengali', + 'Cyrillic', + 'Devanagari', + 'Latin', + 'Lisu', + 'Thai', + 'Toto', + ], + "\xCB\x86" => [ + 'Common', + ], + "\xCB\x87" => [ + 'Common', + 'Bopomofo', + 'Latin', + ], + "\xCB\x88" => [ + 'Common', + ], + "\xCB\x89" => [ + 'Common', + 'Bopomofo', + ], + "\xCB\x8A" => [ + 'Common', + 'Latin', + ], + "\xCB\x8B" => [ + 'Common', + 'Bopomofo', + ], + "\xCB\x8C" => [ + 'Common', + 'Latin', + ], + "\xCB\x8D" => [ + 'Common', + 'Latin', + 'Lisu', + ], + "\xCB\x96" => [ + 'Common', + ], + "\xCB\x97" => [ + 'Common', + 'Latin', + 'Thai', + ], + "\xCB\x98" => [ + 'Common', + ], + "\xCB\x99" => [ + 'Common', + 'Bopomofo', + 'Latin', + ], "\xCB\x9F" => [ 'Common', ], @@ -6431,6 +6558,219 @@ function utf8_character_scripts(): array "\xCB\xBF" => [ 'Common', ], + "\xCC\x80" => [ + 'Inherited', + 'Cherokee', + 'Coptic', + 'Cyrillic', + 'Greek', + 'Latin', + 'Old_Permic', + 'Sunuwar', + 'Tai_Le', + ], + "\xCC\x81" => [ + 'Inherited', + 'Cherokee', + 'Cyrillic', + 'Greek', + 'Latin', + 'Osage', + 'Sunuwar', + 'Tai_Le', + 'Todhri', + ], + "\xCC\x82" => [ + 'Inherited', + 'Cherokee', + 'Cyrillic', + 'Latin', + 'Tifinagh', + ], + "\xCC\x83" => [ + 'Inherited', + 'Glagolitic', + 'Latin', + 'Sunuwar', + 'Syriac', + 'Thai', + ], + "\xCC\x84" => [ + 'Inherited', + 'Caucasian_Albanian', + 'Cherokee', + 'Coptic', + 'Cyrillic', + 'Gothic', + 'Greek', + 'Latin', + 'Osage', + 'Syriac', + 'Tifinagh', + 'Todhri', + ], + "\xCC\x85" => [ + 'Inherited', + 'Coptic', + 'Elbasan', + 'Glagolitic', + 'Gothic', + 'Katakana', + 'Latin', + ], + "\xCC\x86" => [ + 'Inherited', + 'Cyrillic', + 'Greek', + 'Latin', + 'Old_Permic', + ], + "\xCC\x87" => [ + 'Inherited', + 'Coptic', + 'Duployan', + 'Hebrew', + 'Latin', + 'Old_Permic', + 'Syriac', + 'Tai_Le', + 'Tifinagh', + 'Todhri', + ], + "\xCC\x88" => [ + 'Inherited', + 'Armenian', + 'Cyrillic', + 'Duployan', + 'Gothic', + 'Greek', + 'Hebrew', + 'Latin', + 'Old_Permic', + 'Syriac', + 'Tai_Le', + ], + "\xCC\x89" => [ + 'Inherited', + 'Latin', + 'Tifinagh', + ], + "\xCC\x8A" => [ + 'Inherited', + 'Duployan', + 'Latin', + 'Syriac', + ], + "\xCC\x8B" => [ + 'Inherited', + 'Cherokee', + 'Cyrillic', + 'Latin', + 'Osage', + ], + "\xCC\x8C" => [ + 'Inherited', + 'Cherokee', + 'Latin', + 'Tai_Le', + ], + "\xCC\x8D" => [ + 'Inherited', + 'Latin', + 'Sunuwar', + ], + "\xCC\x8E" => [ + 'Inherited', + 'Ethiopic', + 'Latin', + ], + "\xCC\x8F" => [ + 'Inherited', + ], + "\xCC\x90" => [ + 'Inherited', + 'Latin', + 'Sunuwar', + ], + "\xCC\x91" => [ + 'Inherited', + 'Cyrillic', + 'Latin', + 'Todhri', + ], + "\xCC\x92" => [ + 'Inherited', + ], + "\xCC\x93" => [ + 'Inherited', + 'Greek', + 'Latin', + 'Old_Permic', + 'Todhri', + ], + "\xCC\x9F" => [ + 'Inherited', + ], + "\xCC\xA0" => [ + 'Inherited', + 'Latin', + 'Syriac', + ], + "\xCC\xA2" => [ + 'Inherited', + ], + "\xCC\xA3" => [ + 'Inherited', + 'Cherokee', + 'Duployan', + 'Katakana', + 'Latin', + 'Syriac', + ], + "\xCC\xA4" => [ + 'Inherited', + 'Cherokee', + 'Duployan', + 'Latin', + 'Syriac', + ], + "\xCC\xA5" => [ + 'Inherited', + 'Latin', + 'Syriac', + ], + "\xCC\xAC" => [ + 'Inherited', + ], + "\xCC\xAD" => [ + 'Inherited', + 'Latin', + 'Sunuwar', + 'Syriac', + ], + "\xCC\xAE" => [ + 'Inherited', + 'Latin', + 'Syriac', + ], + "\xCC\xAF" => [ + 'Inherited', + ], + "\xCC\xB0" => [ + 'Inherited', + 'Cherokee', + 'Latin', + 'Syriac', + ], + "\xCC\xB1" => [ + 'Inherited', + 'Caucasian_Albanian', + 'Cherokee', + 'Gothic', + 'Latin', + 'Sunuwar', + 'Thai', + ], "\xCD\x81" => [ 'Inherited', ], @@ -6445,6 +6785,23 @@ function utf8_character_scripts(): array 'Inherited', 'Greek', ], + "\xCD\x97" => [ + 'Inherited', + ], + "\xCD\x98" => [ + 'Inherited', + 'Latin', + 'Osage', + ], + "\xCD\x9D" => [ + 'Inherited', + ], + "\xCD\x9E" => [ + 'Inherited', + 'Caucasian_Albanian', + 'Latin', + 'Todhri', + ], "\xCD\xA2" => [ 'Inherited', ], @@ -6457,6 +6814,12 @@ function utf8_character_scripts(): array ], "\xCD\xB4" => [ 'Common', + 'Coptic', + 'Greek', + ], + "\xCD\xB5" => [ + 'Greek', + 'Coptic', ], "\xCD\xBD" => [ 'Greek', @@ -6511,6 +6874,14 @@ function utf8_character_scripts(): array "\xD4\xAF" => [ 'Cyrillic', ], + "\xD6\x88" => [ + 'Armenian', + ], + "\xD6\x89" => [ + 'Armenian', + 'Georgian', + 'Glagolitic', + ], "\xD6\x8F" => [ 'Armenian', ], @@ -6529,6 +6900,7 @@ function utf8_character_scripts(): array "\xD8\x8C" => [ 'Common', 'Arabic', + 'Garay', 'Nko', 'Hanifi_Rohingya', 'Syriac', @@ -6541,6 +6913,7 @@ function utf8_character_scripts(): array "\xD8\x9B" => [ 'Common', 'Arabic', + 'Garay', 'Nko', 'Hanifi_Rohingya', 'Syriac', @@ -6559,6 +6932,7 @@ function utf8_character_scripts(): array 'Common', 'Adlam', 'Arabic', + 'Garay', 'Nko', 'Hanifi_Rohingya', 'Syriac', @@ -6783,6 +7157,7 @@ function utf8_character_scripts(): array 'Mahajani', 'Malayalam', 'Nandinagari', + 'Ol_Onal', 'Oriya', 'Khudawadi', 'Sinhala', @@ -6801,12 +7176,14 @@ function utf8_character_scripts(): array 'Masaram_Gondi', 'Grantha', 'Gujarati', + 'Gurung_Khema', 'Gurmukhi', 'Kannada', 'Limbu', 'Mahajani', 'Malayalam', 'Nandinagari', + 'Ol_Onal', 'Oriya', 'Khudawadi', 'Sinhala', @@ -7058,17 +7435,18 @@ function utf8_character_scripts(): array ], "\xE0\xB3\xA8" => [ 'Kannada', + 'Tulu_Tigalari', ], "\xE0\xB3\xA9" => [ 'Kannada', - 'Nandinagari', ], "\xE0\xB3\xAA" => [ 'Kannada', + 'Nandinagari', ], "\xE0\xB3\xAB" => [ 'Kannada', - 'Nandinagari', + 'Tulu_Tigalari', ], "\xE0\xB3\xAC" => [ 'Kannada', @@ -7079,11 +7457,18 @@ function utf8_character_scripts(): array ], "\xE0\xB3\xAE" => [ 'Kannada', + 'Tulu_Tigalari', ], "\xE0\xB3\xAF" => [ 'Kannada', + ], + "\xE0\xB3\xB0" => [ 'Nandinagari', ], + "\xE0\xB3\xB1" => [ + 'Kannada', + 'Tulu_Tigalari', + ], "\xE0\xB3\xB3" => [ 'Kannada', ], @@ -7170,6 +7555,7 @@ function utf8_character_scripts(): array "\xE1\x83\xBB" => [ 'Common', 'Georgian', + 'Glagolitic', 'Latin', ], "\xE1\x83\xBF" => [ @@ -7195,6 +7581,7 @@ function utf8_character_scripts(): array ], "\xE1\x9B\xAD" => [ 'Common', + 'Runic', ], "\xE1\x9B\xB8" => [ 'Runic', @@ -7274,7 +7661,7 @@ function utf8_character_scripts(): array "\xE1\xAB\x8E" => [ 'Inherited', ], - "\xE1\xAD\xBE" => [ + "\xE1\xAD\xBF" => [ 'Balinese', ], "\xE1\xAE\xBF" => [ @@ -7289,7 +7676,7 @@ function utf8_character_scripts(): array "\xE1\xB1\xBF" => [ 'Ol_Chiki', ], - "\xE1\xB2\x88" => [ + "\xE1\xB2\x8A" => [ 'Cyrillic', ], "\xE1\xB2\xBF" => [ @@ -7320,6 +7707,7 @@ function utf8_character_scripts(): array 'Common', 'Devanagari', 'Grantha', + 'Kannada', ], "\xE1\xB3\x94" => [ 'Inherited', @@ -7418,6 +7806,7 @@ function utf8_character_scripts(): array 'Sinhala', 'Telugu', 'Tirhuta', + 'Tulu_Tigalari', ], "\xE1\xB3\xB3" => [ 'Common', @@ -7429,6 +7818,7 @@ function utf8_character_scripts(): array 'Devanagari', 'Grantha', 'Kannada', + 'Tulu_Tigalari', ], "\xE1\xB3\xB5" => [ 'Common', @@ -7497,6 +7887,7 @@ function utf8_character_scripts(): array "\xE1\xB7\xB8" => [ 'Inherited', 'Cyrillic', + 'Latin', 'Syriac', ], "\xE1\xB7\xB9" => [ @@ -7528,6 +7919,37 @@ function utf8_character_scripts(): array 'Common', 'Latin', 'Mongolian', + 'Phags_Pa', + ], + "\xE2\x81\x8E" => [ + 'Common', + ], + "\xE2\x81\x8F" => [ + 'Common', + 'Adlam', + 'Arabic', + ], + "\xE2\x81\x99" => [ + 'Common', + ], + "\xE2\x81\x9A" => [ + 'Common', + 'Carian', + 'Georgian', + 'Glagolitic', + 'Old_Hungarian', + 'Lycian', + 'Old_Turkic', + ], + "\xE2\x81\x9C" => [ + 'Common', + ], + "\xE2\x81\x9D" => [ + 'Common', + 'Carian', + 'Greek', + 'Old_Hungarian', + 'Meroitic_Hieroglyphs', ], "\xE2\x81\xB0" => [ 'Common', @@ -7619,6 +8041,48 @@ function utf8_character_scripts(): array "\xE2\xB7\xBF" => [ 'Cyrillic', ], + "\xE2\xB8\x96" => [ + 'Common', + ], + "\xE2\xB8\x97" => [ + 'Common', + 'Coptic', + 'Latin', + ], + "\xE2\xB8\xAF" => [ + 'Common', + ], + "\xE2\xB8\xB0" => [ + 'Common', + 'Avestan', + 'Old_Turkic', + ], + "\xE2\xB8\xB1" => [ + 'Common', + 'Avestan', + 'Carian', + 'Georgian', + 'Old_Hungarian', + 'Kaithi', + 'Lydian', + 'Samaritan', + ], + "\xE2\xB8\xBB" => [ + 'Common', + ], + "\xE2\xB8\xBC" => [ + 'Common', + 'Duployan', + ], + "\xE2\xB9\x80" => [ + 'Common', + ], + "\xE2\xB9\x81" => [ + 'Common', + 'Adlam', + 'Arabic', + 'Old_Hungarian', + ], "\xE2\xB9\x82" => [ 'Common', ], @@ -7633,16 +8097,93 @@ function utf8_character_scripts(): array "\xE2\xBF\x95" => [ 'Han', ], + "\xE2\xBF\xB0" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xB1" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xB2" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xB3" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xB4" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xB5" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xB6" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xB7" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xB8" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xB9" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xBA" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xBB" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xBC" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xBD" => [ + 'Common', + 'Tangut', + ], + "\xE2\xBF\xBE" => [ + 'Common', + 'Han', + ], + "\xE2\xBF\xBF" => [ + 'Common', + 'Tangut', + ], "\xE3\x80\x80" => [ 'Common', ], "\xE3\x80\x81" => [ 'Common', 'Bopomofo', + 'Hangul', + 'Han', + 'Hiragana', + 'Katakana', + 'Mongolian', + 'Yi', ], "\xE3\x80\x82" => [ 'Common', + 'Bopomofo', 'Hangul', + 'Han', + 'Hiragana', + 'Katakana', + 'Mongolian', + 'Phags_Pa', + 'Yi', ], "\xE3\x80\x83" => [ 'Common', @@ -7654,20 +8195,40 @@ function utf8_character_scripts(): array ], "\xE3\x80\x84" => [ 'Common', - 'Hiragana', ], "\xE3\x80\x85" => [ 'Han', - 'Katakana', ], "\xE3\x80\x86" => [ 'Common', 'Han', - 'Yi', ], "\xE3\x80\x87" => [ 'Han', ], + "\xE3\x80\x89" => [ + 'Common', + 'Bopomofo', + 'Hangul', + 'Han', + 'Hiragana', + 'Katakana', + 'Mongolian', + 'Tibetan', + 'Yi', + ], + "\xE3\x80\x8B" => [ + 'Common', + 'Bopomofo', + 'Hangul', + 'Han', + 'Hiragana', + 'Katakana', + 'Lisu', + 'Mongolian', + 'Tibetan', + 'Yi', + ], "\xE3\x80\x91" => [ 'Common', 'Bopomofo', @@ -7860,12 +8421,14 @@ function utf8_character_scripts(): array "\xE3\x86\xBF" => [ 'Bopomofo', ], - "\xE3\x87\xA3" => [ + "\xE3\x87\xA5" => [ 'Common', 'Han', ], "\xE3\x87\xAF" => [ 'Common', + 'Han', + 'Tangut', ], "\xE3\x87\xBF" => [ 'Katakana', @@ -8023,33 +8586,35 @@ function utf8_character_scripts(): array ], "\xEA\xA0\xB3" => [ 'Common', - 'Devanagari', 'Gurmukhi', + 'Devanagari', ], "\xEA\xA0\xB4" => [ 'Common', - 'Dogra', 'Khojki', + 'Dogra', ], "\xEA\xA0\xB5" => [ 'Common', - 'Gujarati', 'Kannada', + 'Gujarati', ], "\xEA\xA0\xB6" => [ 'Common', - 'Devanagari', - 'Gurmukhi', 'Kaithi', + 'Gurmukhi', + 'Devanagari', ], "\xEA\xA0\xB7" => [ 'Common', - 'Dogra', - 'Khojki', 'Mahajani', + 'Khojki', + 'Dogra', ], "\xEA\xA0\xB8" => [ 'Common', + 'Malayalam', + 'Kannada', 'Gujarati', 'Devanagari', 'Dogra', @@ -8062,54 +8627,57 @@ function utf8_character_scripts(): array 'Khudawadi', 'Takri', 'Tirhuta', - 'Kannada', - 'Malayalam', ], "\xEA\xA0\xB9" => [ 'Common', + 'Modi', + 'Kaithi', 'Gurmukhi', 'Devanagari', 'Dogra', 'Gujarati', 'Khojki', - 'Kaithi', 'Mahajani', - 'Modi', 'Khudawadi', 'Takri', 'Tirhuta', ], "\xEA\xA0\xBA" => [ - 'Khojki', - 'Mahajani', 'Nandinagari', + 'Mahajani', + 'Khojki', ], "\xEA\xA0\xBB" => [ - 'Kaithi', - 'Modi', 'Sharada', + 'Modi', + 'Kaithi', ], "\xEA\xA0\xBC" => [ - 'Mahajani', - 'Nandinagari', 'Khudawadi', + 'Nandinagari', + 'Mahajani', ], "\xEA\xA0\xBD" => [ - 'Modi', - 'Sharada', 'Takri', + 'Sharada', + 'Modi', ], "\xEA\xA0\xBE" => [ - 'Khudawadi', 'Tirhuta', + 'Khudawadi', ], "\xEA\xA0\xBF" => [ + 'Tulu_Tigalari', 'Takri', ], "\xEA\xA1\x80" => [ 'Phags_Pa', 'Tirhuta', ], + "\xEA\xA1\x81" => [ + 'Phags_Pa', + 'Tulu_Tigalari', + ], "\xEA\xA1\xB7" => [ 'Phags_Pa', ], @@ -8122,6 +8690,7 @@ function utf8_character_scripts(): array "\xEA\xA3\xB1" => [ 'Devanagari', 'Bengali', + 'Tulu_Tigalari', ], "\xEA\xA3\xB2" => [ 'Devanagari', @@ -8370,8 +8939,8 @@ function utf8_character_scripts(): array ], "\xF0\x90\x84\x82" => [ 'Common', - 'Cypriot', 'Linear_B', + 'Cypriot', ], "\xF0\x90\x84\x87" => [ 'Common', @@ -8766,6 +9335,9 @@ function utf8_character_scripts(): array "\xF0\x90\x96\xBC" => [ 'Vithkuqi', ], + "\xF0\x90\x97\xB3" => [ + 'Todhri', + ], "\xF0\x90\x9D\xA7" => [ 'Linear_A', ], @@ -8839,6 +9411,9 @@ function utf8_character_scripts(): array "\xF0\x90\xB4\xB9" => [ 'Hanifi_Rohingya', ], + "\xF0\x90\xB6\x8F" => [ + 'Garay', + ], "\xF0\x90\xB9\xBE" => [ 'Arabic', ], @@ -8921,6 +9496,9 @@ function utf8_character_scripts(): array "\xF0\x91\x8D\xB4" => [ 'Grantha', ], + "\xF0\x91\x8F\xA2" => [ + 'Tulu_Tigalari', + ], "\xF0\x91\x91\xA1" => [ 'Newa', ], @@ -8939,6 +9517,9 @@ function utf8_character_scripts(): array "\xF0\x91\x9B\x89" => [ 'Takri', ], + "\xF0\x91\x9B\xA3" => [ + 'Myanmar', + ], "\xF0\x91\x9D\x86" => [ 'Ahom', ], @@ -8969,6 +9550,9 @@ function utf8_character_scripts(): array "\xF0\x91\xAC\x89" => [ 'Devanagari', ], + "\xF0\x91\xAF\xB9" => [ + 'Sunuwar', + ], "\xF0\x91\xB1\xAC" => [ 'Bhaiksuki', ], @@ -8984,7 +9568,7 @@ function utf8_character_scripts(): array "\xF0\x91\xBB\xB8" => [ 'Makasar', ], - "\xF0\x91\xBD\x99" => [ + "\xF0\x91\xBD\x9A" => [ 'Kawi', ], "\xF0\x91\xBE\xB0" => [ @@ -9013,12 +9597,15 @@ function utf8_character_scripts(): array "\xF0\x92\xBF\xB2" => [ 'Cypro_Minoan', ], - "\xF0\x93\x91\x95" => [ + "\xF0\x94\x8F\xBA" => [ 'Egyptian_Hieroglyphs', ], "\xF0\x94\x99\x86" => [ 'Anatolian_Hieroglyphs', ], + "\xF0\x96\x84\xB9" => [ + 'Gurung_Khema', + ], "\xF0\x96\xA8\xB8" => [ 'Bamum', ], @@ -9034,6 +9621,9 @@ function utf8_character_scripts(): array "\xF0\x96\xAE\x8F" => [ 'Pahawh_Hmong', ], + "\xF0\x96\xB5\xB9" => [ + 'Kirat_Rai', + ], "\xF0\x96\xBA\x9A" => [ 'Medefaidrin', ], @@ -9058,7 +9648,7 @@ function utf8_character_scripts(): array "\xF0\x98\xAB\xBF" => [ 'Tangut', ], - "\xF0\x98\xB3\x95" => [ + "\xF0\x98\xB3\xBF" => [ 'Khitan_Small_Script', ], "\xF0\x98\xB4\x88" => [ @@ -9089,6 +9679,9 @@ function utf8_character_scripts(): array 'Common', 'Duployan', ], + "\xF0\x9C\xBA\xB3" => [ + 'Common', + ], "\xF0\x9C\xBD\x86" => [ 'Inherited', ], @@ -9156,6 +9749,9 @@ function utf8_character_scripts(): array "\xF0\x9E\x93\xB9" => [ 'Nag_Mundari', ], + "\xF0\x9E\x97\xBF" => [ + 'Ol_Onal', + ], "\xF0\x9E\x9F\xBE" => [ 'Ethiopic', ], diff --git a/Sources/Unicode/DecompositionCanonical.php b/Sources/Unicode/DecompositionCanonical.php index 76d78afc92..6bd1a8a8e7 100644 --- a/Sources/Unicode/DecompositionCanonical.php +++ b/Sources/Unicode/DecompositionCanonical.php @@ -1523,6 +1523,8 @@ function utf8_normalize_d_maps(): array "\xEF\xAD\x8C" => "\xD7\x91\xD6\xBF", "\xEF\xAD\x8D" => "\xD7\x9B\xD6\xBF", "\xEF\xAD\x8E" => "\xD7\xA4\xD6\xBF", + "\xF0\x90\x97\x89" => "\xF0\x90\x97\x92\xCC\x87", + "\xF0\x90\x97\xA4" => "\xF0\x90\x97\x9A\xCC\x87", "\xF0\x91\x82\x9A" => "\xF0\x91\x82\x99\xF0\x91\x82\xBA", "\xF0\x91\x82\x9C" => "\xF0\x91\x82\x9B\xF0\x91\x82\xBA", "\xF0\x91\x82\xAB" => "\xF0\x91\x82\xA5\xF0\x91\x82\xBA", @@ -1530,12 +1532,30 @@ function utf8_normalize_d_maps(): array "\xF0\x91\x84\xAF" => "\xF0\x91\x84\xB2\xF0\x91\x84\xA7", "\xF0\x91\x8D\x8B" => "\xF0\x91\x8D\x87\xF0\x91\x8C\xBE", "\xF0\x91\x8D\x8C" => "\xF0\x91\x8D\x87\xF0\x91\x8D\x97", + "\xF0\x91\x8E\x83" => "\xF0\x91\x8E\x82\xF0\x91\x8F\x89", + "\xF0\x91\x8E\x85" => "\xF0\x91\x8E\x84\xF0\x91\x8E\xBB", + "\xF0\x91\x8E\x8E" => "\xF0\x91\x8E\x8B\xF0\x91\x8F\x82", + "\xF0\x91\x8E\x91" => "\xF0\x91\x8E\x90\xF0\x91\x8F\x89", + "\xF0\x91\x8F\x85" => "\xF0\x91\x8F\x82\xF0\x91\x8F\x82", + "\xF0\x91\x8F\x87" => "\xF0\x91\x8F\x82\xF0\x91\x8E\xB8", + "\xF0\x91\x8F\x88" => "\xF0\x91\x8F\x82\xF0\x91\x8F\x89", "\xF0\x91\x92\xBB" => "\xF0\x91\x92\xB9\xF0\x91\x92\xBA", "\xF0\x91\x92\xBC" => "\xF0\x91\x92\xB9\xF0\x91\x92\xB0", "\xF0\x91\x92\xBE" => "\xF0\x91\x92\xB9\xF0\x91\x92\xBD", "\xF0\x91\x96\xBA" => "\xF0\x91\x96\xB8\xF0\x91\x96\xAF", "\xF0\x91\x96\xBB" => "\xF0\x91\x96\xB9\xF0\x91\x96\xAF", "\xF0\x91\xA4\xB8" => "\xF0\x91\xA4\xB5\xF0\x91\xA4\xB0", + "\xF0\x96\x84\xA1" => "\xF0\x96\x84\x9E\xF0\x96\x84\x9E", + "\xF0\x96\x84\xA2" => "\xF0\x96\x84\x9E\xF0\x96\x84\xA9", + "\xF0\x96\x84\xA3" => "\xF0\x96\x84\x9E\xF0\x96\x84\x9F", + "\xF0\x96\x84\xA4" => "\xF0\x96\x84\xA9\xF0\x96\x84\x9F", + "\xF0\x96\x84\xA5" => "\xF0\x96\x84\x9E\xF0\x96\x84\xA0", + "\xF0\x96\x84\xA6" => "\xF0\x96\x84\x9E\xF0\x96\x84\x9E\xF0\x96\x84\x9F", + "\xF0\x96\x84\xA7" => "\xF0\x96\x84\x9E\xF0\x96\x84\xA9\xF0\x96\x84\x9F", + "\xF0\x96\x84\xA8" => "\xF0\x96\x84\x9E\xF0\x96\x84\x9E\xF0\x96\x84\xA0", + "\xF0\x96\xB5\xA8" => "\xF0\x96\xB5\xA7\xF0\x96\xB5\xA7", + "\xF0\x96\xB5\xA9" => "\xF0\x96\xB5\xA3\xF0\x96\xB5\xA7", + "\xF0\x96\xB5\xAA" => "\xF0\x96\xB5\xA3\xF0\x96\xB5\xA7\xF0\x96\xB5\xA7", "\xF0\x9D\x85\x9E" => "\xF0\x9D\x85\x97\xF0\x9D\x85\xA5", "\xF0\x9D\x85\x9F" => "\xF0\x9D\x85\x98\xF0\x9D\x85\xA5", "\xF0\x9D\x85\xA0" => "\xF0\x9D\x85\x98\xF0\x9D\x85\xA5\xF0\x9D\x85\xAE", diff --git a/Sources/Unicode/DecompositionCompatibility.php b/Sources/Unicode/DecompositionCompatibility.php index 69170826fe..51a0d2b1ce 100644 --- a/Sources/Unicode/DecompositionCompatibility.php +++ b/Sources/Unicode/DecompositionCompatibility.php @@ -2497,6 +2497,42 @@ function utf8_normalize_kd_maps(): array "\xF0\x90\x9E\xB8" => "\xC7\x82", "\xF0\x90\x9E\xB9" => "\xF0\x9D\xBC\x8A", "\xF0\x90\x9E\xBA" => "\xF0\x9D\xBC\x9E", + "\xF0\x9C\xB3\x96" => "\x41", + "\xF0\x9C\xB3\x97" => "\x42", + "\xF0\x9C\xB3\x98" => "\x43", + "\xF0\x9C\xB3\x99" => "\x44", + "\xF0\x9C\xB3\x9A" => "\x45", + "\xF0\x9C\xB3\x9B" => "\x46", + "\xF0\x9C\xB3\x9C" => "\x47", + "\xF0\x9C\xB3\x9D" => "\x48", + "\xF0\x9C\xB3\x9E" => "\x49", + "\xF0\x9C\xB3\x9F" => "\x4A", + "\xF0\x9C\xB3\xA0" => "\x4B", + "\xF0\x9C\xB3\xA1" => "\x4C", + "\xF0\x9C\xB3\xA2" => "\x4D", + "\xF0\x9C\xB3\xA3" => "\x4E", + "\xF0\x9C\xB3\xA4" => "\x4F", + "\xF0\x9C\xB3\xA5" => "\x50", + "\xF0\x9C\xB3\xA6" => "\x51", + "\xF0\x9C\xB3\xA7" => "\x52", + "\xF0\x9C\xB3\xA8" => "\x53", + "\xF0\x9C\xB3\xA9" => "\x54", + "\xF0\x9C\xB3\xAA" => "\x55", + "\xF0\x9C\xB3\xAB" => "\x56", + "\xF0\x9C\xB3\xAC" => "\x57", + "\xF0\x9C\xB3\xAD" => "\x58", + "\xF0\x9C\xB3\xAE" => "\x59", + "\xF0\x9C\xB3\xAF" => "\x5A", + "\xF0\x9C\xB3\xB0" => "\x30", + "\xF0\x9C\xB3\xB1" => "\x31", + "\xF0\x9C\xB3\xB2" => "\x32", + "\xF0\x9C\xB3\xB3" => "\x33", + "\xF0\x9C\xB3\xB4" => "\x34", + "\xF0\x9C\xB3\xB5" => "\x35", + "\xF0\x9C\xB3\xB6" => "\x36", + "\xF0\x9C\xB3\xB7" => "\x37", + "\xF0\x9C\xB3\xB8" => "\x38", + "\xF0\x9C\xB3\xB9" => "\x39", "\xF0\x9D\x90\x80" => "\x41", "\xF0\x9D\x90\x81" => "\x42", "\xF0\x9D\x90\x82" => "\x43", diff --git a/Sources/Unicode/Idna.php b/Sources/Unicode/Idna.php index cd613db850..b50a72c502 100644 --- a/Sources/Unicode/Idna.php +++ b/Sources/Unicode/Idna.php @@ -56,10 +56,15 @@ function idna_maps(): array "\x58" => "\x78", "\x59" => "\x79", "\x5A" => "\x7A", + "\xC2\xA0" => "\x20", + "\xC2\xA8" => "\x20\xCC\x88", "\xC2\xAA" => "\x61", + "\xC2\xAF" => "\x20\xCC\x84", "\xC2\xB2" => "\x32", "\xC2\xB3" => "\x33", + "\xC2\xB4" => "\x20\xCC\x81", "\xC2\xB5" => "\xCE\xBC", + "\xC2\xB8" => "\x20\xCC\xA7", "\xC2\xB9" => "\x31", "\xC2\xBA" => "\x6F", "\xC2\xBC" => "\x31\xE2\x81\x84\x34", @@ -282,6 +287,12 @@ function idna_maps(): array "\xCA\xB6" => "\xCA\x81", "\xCA\xB7" => "\x77", "\xCA\xB8" => "\x79", + "\xCB\x98" => "\x20\xCC\x86", + "\xCB\x99" => "\x20\xCC\x87", + "\xCB\x9A" => "\x20\xCC\x8A", + "\xCB\x9B" => "\x20\xCC\xA8", + "\xCB\x9C" => "\x20\xCC\x83", + "\xCB\x9D" => "\x20\xCC\x8B", "\xCB\xA0" => "\xC9\xA3", "\xCB\xA1" => "\x6C", "\xCB\xA2" => "\x73", @@ -296,7 +307,11 @@ function idna_maps(): array "\xCD\xB2" => "\xCD\xB3", "\xCD\xB4" => "\xCA\xB9", "\xCD\xB6" => "\xCD\xB7", + "\xCD\xBA" => "\x20\xCE\xB9", + "\xCD\xBE" => "\x3B", "\xCD\xBF" => "\xCF\xB3", + "\xCE\x84" => "\x20\xCC\x81", + "\xCE\x85" => "\x20\xCC\x88\xCC\x81", "\xCE\x86" => "\xCE\xAC", "\xCE\x87" => "\xC2\xB7", "\xCE\x88" => "\xCE\xAD", @@ -454,6 +469,7 @@ function idna_maps(): array "\xD2\xBA" => "\xD2\xBB", "\xD2\xBC" => "\xD2\xBD", "\xD2\xBE" => "\xD2\xBF", + "\xD3\x80" => "\xD3\x8F", "\xD3\x81" => "\xD3\x82", "\xD3\x83" => "\xD3\x84", "\xD3\x85" => "\xD3\x86", @@ -595,6 +611,44 @@ function idna_maps(): array "\xE0\xBE\xA7" => "\xE0\xBE\xA6\xE0\xBE\xB7", "\xE0\xBE\xAC" => "\xE0\xBE\xAB\xE0\xBE\xB7", "\xE0\xBE\xB9" => "\xE0\xBE\x90\xE0\xBE\xB5", + "\xE1\x82\xA0" => "\xE2\xB4\x80", + "\xE1\x82\xA1" => "\xE2\xB4\x81", + "\xE1\x82\xA2" => "\xE2\xB4\x82", + "\xE1\x82\xA3" => "\xE2\xB4\x83", + "\xE1\x82\xA4" => "\xE2\xB4\x84", + "\xE1\x82\xA5" => "\xE2\xB4\x85", + "\xE1\x82\xA6" => "\xE2\xB4\x86", + "\xE1\x82\xA7" => "\xE2\xB4\x87", + "\xE1\x82\xA8" => "\xE2\xB4\x88", + "\xE1\x82\xA9" => "\xE2\xB4\x89", + "\xE1\x82\xAA" => "\xE2\xB4\x8A", + "\xE1\x82\xAB" => "\xE2\xB4\x8B", + "\xE1\x82\xAC" => "\xE2\xB4\x8C", + "\xE1\x82\xAD" => "\xE2\xB4\x8D", + "\xE1\x82\xAE" => "\xE2\xB4\x8E", + "\xE1\x82\xAF" => "\xE2\xB4\x8F", + "\xE1\x82\xB0" => "\xE2\xB4\x90", + "\xE1\x82\xB1" => "\xE2\xB4\x91", + "\xE1\x82\xB2" => "\xE2\xB4\x92", + "\xE1\x82\xB3" => "\xE2\xB4\x93", + "\xE1\x82\xB4" => "\xE2\xB4\x94", + "\xE1\x82\xB5" => "\xE2\xB4\x95", + "\xE1\x82\xB6" => "\xE2\xB4\x96", + "\xE1\x82\xB7" => "\xE2\xB4\x97", + "\xE1\x82\xB8" => "\xE2\xB4\x98", + "\xE1\x82\xB9" => "\xE2\xB4\x99", + "\xE1\x82\xBA" => "\xE2\xB4\x9A", + "\xE1\x82\xBB" => "\xE2\xB4\x9B", + "\xE1\x82\xBC" => "\xE2\xB4\x9C", + "\xE1\x82\xBD" => "\xE2\xB4\x9D", + "\xE1\x82\xBE" => "\xE2\xB4\x9E", + "\xE1\x82\xBF" => "\xE2\xB4\x9F", + "\xE1\x83\x80" => "\xE2\xB4\xA0", + "\xE1\x83\x81" => "\xE2\xB4\xA1", + "\xE1\x83\x82" => "\xE2\xB4\xA2", + "\xE1\x83\x83" => "\xE2\xB4\xA3", + "\xE1\x83\x84" => "\xE2\xB4\xA4", + "\xE1\x83\x85" => "\xE2\xB4\xA5", "\xE1\x83\x87" => "\xE2\xB4\xA7", "\xE1\x83\x8D" => "\xE2\xB4\xAD", "\xE1\x83\xBC" => "\xE1\x83\x9C", @@ -613,6 +667,7 @@ function idna_maps(): array "\xE1\xB2\x86" => "\xD1\x8A", "\xE1\xB2\x87" => "\xD1\xA3", "\xE1\xB2\x88" => "\xEA\x99\x8B", + "\xE1\xB2\x89" => "\xE1\xB2\x8A", "\xE1\xB2\x90" => "\xE1\x83\x90", "\xE1\xB2\x91" => "\xE1\x83\x91", "\xE1\xB2\x92" => "\xE1\x83\x92", @@ -995,7 +1050,11 @@ function idna_maps(): array "\xE1\xBE\xBA" => "\xE1\xBD\xB0", "\xE1\xBE\xBB" => "\xCE\xAC", "\xE1\xBE\xBC" => "\xCE\xB1\xCE\xB9", + "\xE1\xBE\xBD" => "\x20\xCC\x93", "\xE1\xBE\xBE" => "\xCE\xB9", + "\xE1\xBE\xBF" => "\x20\xCC\x93", + "\xE1\xBF\x80" => "\x20\xCD\x82", + "\xE1\xBF\x81" => "\x20\xCC\x88\xCD\x82", "\xE1\xBF\x82" => "\xE1\xBD\xB4\xCE\xB9", "\xE1\xBF\x83" => "\xCE\xB7\xCE\xB9", "\xE1\xBF\x84" => "\xCE\xAE\xCE\xB9", @@ -1005,17 +1064,26 @@ function idna_maps(): array "\xE1\xBF\x8A" => "\xE1\xBD\xB4", "\xE1\xBF\x8B" => "\xCE\xAE", "\xE1\xBF\x8C" => "\xCE\xB7\xCE\xB9", + "\xE1\xBF\x8D" => "\x20\xCC\x93\xCC\x80", + "\xE1\xBF\x8E" => "\x20\xCC\x93\xCC\x81", + "\xE1\xBF\x8F" => "\x20\xCC\x93\xCD\x82", "\xE1\xBF\x93" => "\xCE\x90", "\xE1\xBF\x98" => "\xE1\xBF\x90", "\xE1\xBF\x99" => "\xE1\xBF\x91", "\xE1\xBF\x9A" => "\xE1\xBD\xB6", "\xE1\xBF\x9B" => "\xCE\xAF", + "\xE1\xBF\x9D" => "\x20\xCC\x94\xCC\x80", + "\xE1\xBF\x9E" => "\x20\xCC\x94\xCC\x81", + "\xE1\xBF\x9F" => "\x20\xCC\x94\xCD\x82", "\xE1\xBF\xA3" => "\xCE\xB0", "\xE1\xBF\xA8" => "\xE1\xBF\xA0", "\xE1\xBF\xA9" => "\xE1\xBF\xA1", "\xE1\xBF\xAA" => "\xE1\xBD\xBA", "\xE1\xBF\xAB" => "\xCF\x8D", "\xE1\xBF\xAC" => "\xE1\xBF\xA5", + "\xE1\xBF\xAD" => "\x20\xCC\x88\xCC\x80", + "\xE1\xBF\xAE" => "\x20\xCC\x88\xCC\x81", + "\xE1\xBF\xAF" => "\x60", "\xE1\xBF\xB2" => "\xE1\xBD\xBC\xCE\xB9", "\xE1\xBF\xB3" => "\xCF\x89\xCE\xB9", "\xE1\xBF\xB4" => "\xCF\x8E\xCE\xB9", @@ -1025,12 +1093,33 @@ function idna_maps(): array "\xE1\xBF\xBA" => "\xE1\xBD\xBC", "\xE1\xBF\xBB" => "\xCF\x8E", "\xE1\xBF\xBC" => "\xCF\x89\xCE\xB9", + "\xE1\xBF\xBD" => "\x20\xCC\x81", + "\xE1\xBF\xBE" => "\x20\xCC\x94", + "\xE2\x80\x80" => "\x20", + "\xE2\x80\x81" => "\x20", + "\xE2\x80\x82" => "\x20", + "\xE2\x80\x83" => "\x20", + "\xE2\x80\x84" => "\x20", + "\xE2\x80\x85" => "\x20", + "\xE2\x80\x86" => "\x20", + "\xE2\x80\x87" => "\x20", + "\xE2\x80\x88" => "\x20", + "\xE2\x80\x89" => "\x20", + "\xE2\x80\x8A" => "\x20", "\xE2\x80\x91" => "\xE2\x80\x90", + "\xE2\x80\x97" => "\x20\xCC\xB3", + "\xE2\x80\xAF" => "\x20", "\xE2\x80\xB3" => "\xE2\x80\xB2\xE2\x80\xB2", "\xE2\x80\xB4" => "\xE2\x80\xB2\xE2\x80\xB2\xE2\x80\xB2", "\xE2\x80\xB6" => "\xE2\x80\xB5\xE2\x80\xB5", "\xE2\x80\xB7" => "\xE2\x80\xB5\xE2\x80\xB5\xE2\x80\xB5", + "\xE2\x80\xBC" => "\x21\x21", + "\xE2\x80\xBE" => "\x20\xCC\x85", + "\xE2\x81\x87" => "\x3F\x3F", + "\xE2\x81\x88" => "\x3F\x21", + "\xE2\x81\x89" => "\x21\x3F", "\xE2\x81\x97" => "\xE2\x80\xB2\xE2\x80\xB2\xE2\x80\xB2\xE2\x80\xB2", + "\xE2\x81\x9F" => "\x20", "\xE2\x81\xB0" => "\x30", "\xE2\x81\xB1" => "\x69", "\xE2\x81\xB4" => "\x34", @@ -1039,7 +1128,11 @@ function idna_maps(): array "\xE2\x81\xB7" => "\x37", "\xE2\x81\xB8" => "\x38", "\xE2\x81\xB9" => "\x39", + "\xE2\x81\xBA" => "\x2B", "\xE2\x81\xBB" => "\xE2\x88\x92", + "\xE2\x81\xBC" => "\x3D", + "\xE2\x81\xBD" => "\x28", + "\xE2\x81\xBE" => "\x29", "\xE2\x81\xBF" => "\x6E", "\xE2\x82\x80" => "\x30", "\xE2\x82\x81" => "\x31", @@ -1051,7 +1144,11 @@ function idna_maps(): array "\xE2\x82\x87" => "\x37", "\xE2\x82\x88" => "\x38", "\xE2\x82\x89" => "\x39", + "\xE2\x82\x8A" => "\x2B", "\xE2\x82\x8B" => "\xE2\x88\x92", + "\xE2\x82\x8C" => "\x3D", + "\xE2\x82\x8D" => "\x28", + "\xE2\x82\x8E" => "\x29", "\xE2\x82\x90" => "\x61", "\xE2\x82\x91" => "\x65", "\xE2\x82\x92" => "\x6F", @@ -1066,8 +1163,12 @@ function idna_maps(): array "\xE2\x82\x9B" => "\x73", "\xE2\x82\x9C" => "\x74", "\xE2\x82\xA8" => "\x72\x73", + "\xE2\x84\x80" => "\x61\x2F\x63", + "\xE2\x84\x81" => "\x61\x2F\x73", "\xE2\x84\x82" => "\x63", "\xE2\x84\x83" => "\xC2\xB0\x63", + "\xE2\x84\x85" => "\x63\x2F\x6F", + "\xE2\x84\x86" => "\x63\x2F\x75", "\xE2\x84\x87" => "\xC9\x9B", "\xE2\x84\x89" => "\xC2\xB0\x66", "\xE2\x84\x8A" => "\x67", @@ -1100,6 +1201,7 @@ function idna_maps(): array "\xE2\x84\xAF" => "\x65", "\xE2\x84\xB0" => "\x65", "\xE2\x84\xB1" => "\x66", + "\xE2\x84\xB2" => "\xE2\x85\x8E", "\xE2\x84\xB3" => "\x6D", "\xE2\x84\xB4" => "\x6F", "\xE2\x84\xB5" => "\xD7\x90", @@ -1166,6 +1268,7 @@ function idna_maps(): array "\xE2\x85\xBD" => "\x63", "\xE2\x85\xBE" => "\x64", "\xE2\x85\xBF" => "\x6D", + "\xE2\x86\x83" => "\xE2\x86\x84", "\xE2\x86\x89" => "\x30\xE2\x81\x84\x33", "\xE2\x88\xAC" => "\xE2\x88\xAB\xE2\x88\xAB", "\xE2\x88\xAD" => "\xE2\x88\xAB\xE2\x88\xAB\xE2\x88\xAB", @@ -1193,6 +1296,52 @@ function idna_maps(): array "\xE2\x91\xB1" => "\x31\x38", "\xE2\x91\xB2" => "\x31\x39", "\xE2\x91\xB3" => "\x32\x30", + "\xE2\x91\xB4" => "\x28\x31\x29", + "\xE2\x91\xB5" => "\x28\x32\x29", + "\xE2\x91\xB6" => "\x28\x33\x29", + "\xE2\x91\xB7" => "\x28\x34\x29", + "\xE2\x91\xB8" => "\x28\x35\x29", + "\xE2\x91\xB9" => "\x28\x36\x29", + "\xE2\x91\xBA" => "\x28\x37\x29", + "\xE2\x91\xBB" => "\x28\x38\x29", + "\xE2\x91\xBC" => "\x28\x39\x29", + "\xE2\x91\xBD" => "\x28\x31\x30\x29", + "\xE2\x91\xBE" => "\x28\x31\x31\x29", + "\xE2\x91\xBF" => "\x28\x31\x32\x29", + "\xE2\x92\x80" => "\x28\x31\x33\x29", + "\xE2\x92\x81" => "\x28\x31\x34\x29", + "\xE2\x92\x82" => "\x28\x31\x35\x29", + "\xE2\x92\x83" => "\x28\x31\x36\x29", + "\xE2\x92\x84" => "\x28\x31\x37\x29", + "\xE2\x92\x85" => "\x28\x31\x38\x29", + "\xE2\x92\x86" => "\x28\x31\x39\x29", + "\xE2\x92\x87" => "\x28\x32\x30\x29", + "\xE2\x92\x9C" => "\x28\x61\x29", + "\xE2\x92\x9D" => "\x28\x62\x29", + "\xE2\x92\x9E" => "\x28\x63\x29", + "\xE2\x92\x9F" => "\x28\x64\x29", + "\xE2\x92\xA0" => "\x28\x65\x29", + "\xE2\x92\xA1" => "\x28\x66\x29", + "\xE2\x92\xA2" => "\x28\x67\x29", + "\xE2\x92\xA3" => "\x28\x68\x29", + "\xE2\x92\xA4" => "\x28\x69\x29", + "\xE2\x92\xA5" => "\x28\x6A\x29", + "\xE2\x92\xA6" => "\x28\x6B\x29", + "\xE2\x92\xA7" => "\x28\x6C\x29", + "\xE2\x92\xA8" => "\x28\x6D\x29", + "\xE2\x92\xA9" => "\x28\x6E\x29", + "\xE2\x92\xAA" => "\x28\x6F\x29", + "\xE2\x92\xAB" => "\x28\x70\x29", + "\xE2\x92\xAC" => "\x28\x71\x29", + "\xE2\x92\xAD" => "\x28\x72\x29", + "\xE2\x92\xAE" => "\x28\x73\x29", + "\xE2\x92\xAF" => "\x28\x74\x29", + "\xE2\x92\xB0" => "\x28\x75\x29", + "\xE2\x92\xB1" => "\x28\x76\x29", + "\xE2\x92\xB2" => "\x28\x77\x29", + "\xE2\x92\xB3" => "\x28\x78\x29", + "\xE2\x92\xB4" => "\x28\x79\x29", + "\xE2\x92\xB5" => "\x28\x7A\x29", "\xE2\x92\xB6" => "\x61", "\xE2\x92\xB7" => "\x62", "\xE2\x92\xB8" => "\x63", @@ -1247,6 +1396,9 @@ function idna_maps(): array "\xE2\x93\xA9" => "\x7A", "\xE2\x93\xAA" => "\x30", "\xE2\xA8\x8C" => "\xE2\x88\xAB\xE2\x88\xAB\xE2\x88\xAB\xE2\x88\xAB", + "\xE2\xA9\xB4" => "\x3A\x3A\x3D", + "\xE2\xA9\xB5" => "\x3D\x3D", + "\xE2\xA9\xB6" => "\x3D\x3D\x3D", "\xE2\xAB\x9C" => "\xE2\xAB\x9D\xCC\xB8", "\xE2\xB0\x80" => "\xE2\xB0\xB0", "\xE2\xB0\x81" => "\xE2\xB0\xB1", @@ -1583,11 +1735,14 @@ function idna_maps(): array "\xE2\xBF\x93" => "\xE9\xBE\x8D", "\xE2\xBF\x94" => "\xE9\xBE\x9C", "\xE2\xBF\x95" => "\xE9\xBE\xA0", + "\xE3\x80\x80" => "\x20", "\xE3\x80\x82" => "\x2E", "\xE3\x80\xB6" => "\xE3\x80\x92", "\xE3\x80\xB8" => "\xE5\x8D\x81", "\xE3\x80\xB9" => "\xE5\x8D\x84", "\xE3\x80\xBA" => "\xE5\x8D\x85", + "\xE3\x82\x9B" => "\x20\xE3\x82\x99", + "\xE3\x82\x9C" => "\x20\xE3\x82\x9A", "\xE3\x82\x9F" => "\xE3\x82\x88\xE3\x82\x8A", "\xE3\x83\xBF" => "\xE3\x82\xB3\xE3\x83\x88", "\xE3\x84\xB1" => "\xE1\x84\x80", @@ -1697,6 +1852,73 @@ function idna_maps(): array "\xE3\x86\x9D" => "\xE5\xA4\xA9", "\xE3\x86\x9E" => "\xE5\x9C\xB0", "\xE3\x86\x9F" => "\xE4\xBA\xBA", + "\xE3\x88\x80" => "\x28\xE1\x84\x80\x29", + "\xE3\x88\x81" => "\x28\xE1\x84\x82\x29", + "\xE3\x88\x82" => "\x28\xE1\x84\x83\x29", + "\xE3\x88\x83" => "\x28\xE1\x84\x85\x29", + "\xE3\x88\x84" => "\x28\xE1\x84\x86\x29", + "\xE3\x88\x85" => "\x28\xE1\x84\x87\x29", + "\xE3\x88\x86" => "\x28\xE1\x84\x89\x29", + "\xE3\x88\x87" => "\x28\xE1\x84\x8B\x29", + "\xE3\x88\x88" => "\x28\xE1\x84\x8C\x29", + "\xE3\x88\x89" => "\x28\xE1\x84\x8E\x29", + "\xE3\x88\x8A" => "\x28\xE1\x84\x8F\x29", + "\xE3\x88\x8B" => "\x28\xE1\x84\x90\x29", + "\xE3\x88\x8C" => "\x28\xE1\x84\x91\x29", + "\xE3\x88\x8D" => "\x28\xE1\x84\x92\x29", + "\xE3\x88\x8E" => "\x28\xEA\xB0\x80\x29", + "\xE3\x88\x8F" => "\x28\xEB\x82\x98\x29", + "\xE3\x88\x90" => "\x28\xEB\x8B\xA4\x29", + "\xE3\x88\x91" => "\x28\xEB\x9D\xBC\x29", + "\xE3\x88\x92" => "\x28\xEB\xA7\x88\x29", + "\xE3\x88\x93" => "\x28\xEB\xB0\x94\x29", + "\xE3\x88\x94" => "\x28\xEC\x82\xAC\x29", + "\xE3\x88\x95" => "\x28\xEC\x95\x84\x29", + "\xE3\x88\x96" => "\x28\xEC\x9E\x90\x29", + "\xE3\x88\x97" => "\x28\xEC\xB0\xA8\x29", + "\xE3\x88\x98" => "\x28\xEC\xB9\xB4\x29", + "\xE3\x88\x99" => "\x28\xED\x83\x80\x29", + "\xE3\x88\x9A" => "\x28\xED\x8C\x8C\x29", + "\xE3\x88\x9B" => "\x28\xED\x95\x98\x29", + "\xE3\x88\x9C" => "\x28\xEC\xA3\xBC\x29", + "\xE3\x88\x9D" => "\x28\xEC\x98\xA4\xEC\xA0\x84\x29", + "\xE3\x88\x9E" => "\x28\xEC\x98\xA4\xED\x9B\x84\x29", + "\xE3\x88\xA0" => "\x28\xE4\xB8\x80\x29", + "\xE3\x88\xA1" => "\x28\xE4\xBA\x8C\x29", + "\xE3\x88\xA2" => "\x28\xE4\xB8\x89\x29", + "\xE3\x88\xA3" => "\x28\xE5\x9B\x9B\x29", + "\xE3\x88\xA4" => "\x28\xE4\xBA\x94\x29", + "\xE3\x88\xA5" => "\x28\xE5\x85\xAD\x29", + "\xE3\x88\xA6" => "\x28\xE4\xB8\x83\x29", + "\xE3\x88\xA7" => "\x28\xE5\x85\xAB\x29", + "\xE3\x88\xA8" => "\x28\xE4\xB9\x9D\x29", + "\xE3\x88\xA9" => "\x28\xE5\x8D\x81\x29", + "\xE3\x88\xAA" => "\x28\xE6\x9C\x88\x29", + "\xE3\x88\xAB" => "\x28\xE7\x81\xAB\x29", + "\xE3\x88\xAC" => "\x28\xE6\xB0\xB4\x29", + "\xE3\x88\xAD" => "\x28\xE6\x9C\xA8\x29", + "\xE3\x88\xAE" => "\x28\xE9\x87\x91\x29", + "\xE3\x88\xAF" => "\x28\xE5\x9C\x9F\x29", + "\xE3\x88\xB0" => "\x28\xE6\x97\xA5\x29", + "\xE3\x88\xB1" => "\x28\xE6\xA0\xAA\x29", + "\xE3\x88\xB2" => "\x28\xE6\x9C\x89\x29", + "\xE3\x88\xB3" => "\x28\xE7\xA4\xBE\x29", + "\xE3\x88\xB4" => "\x28\xE5\x90\x8D\x29", + "\xE3\x88\xB5" => "\x28\xE7\x89\xB9\x29", + "\xE3\x88\xB6" => "\x28\xE8\xB2\xA1\x29", + "\xE3\x88\xB7" => "\x28\xE7\xA5\x9D\x29", + "\xE3\x88\xB8" => "\x28\xE5\x8A\xB4\x29", + "\xE3\x88\xB9" => "\x28\xE4\xBB\xA3\x29", + "\xE3\x88\xBA" => "\x28\xE5\x91\xBC\x29", + "\xE3\x88\xBB" => "\x28\xE5\xAD\xA6\x29", + "\xE3\x88\xBC" => "\x28\xE7\x9B\xA3\x29", + "\xE3\x88\xBD" => "\x28\xE4\xBC\x81\x29", + "\xE3\x88\xBE" => "\x28\xE8\xB3\x87\x29", + "\xE3\x88\xBF" => "\x28\xE5\x8D\x94\x29", + "\xE3\x89\x80" => "\x28\xE7\xA5\xAD\x29", + "\xE3\x89\x81" => "\x28\xE4\xBC\x91\x29", + "\xE3\x89\x82" => "\x28\xE8\x87\xAA\x29", + "\xE3\x89\x83" => "\x28\xE8\x87\xB3\x29", "\xE3\x89\x84" => "\xE5\x95\x8F", "\xE3\x89\x85" => "\xE5\xB9\xBC", "\xE3\x89\x86" => "\xE6\x96\x87", @@ -2251,9 +2473,13 @@ function idna_maps(): array "\xEA\x9F\x86" => "\xE1\xB6\x8E", "\xEA\x9F\x87" => "\xEA\x9F\x88", "\xEA\x9F\x89" => "\xEA\x9F\x8A", + "\xEA\x9F\x8B" => "\xC9\xA4", + "\xEA\x9F\x8C" => "\xEA\x9F\x8D", "\xEA\x9F\x90" => "\xEA\x9F\x91", "\xEA\x9F\x96" => "\xEA\x9F\x97", "\xEA\x9F\x98" => "\xEA\x9F\x99", + "\xEA\x9F\x9A" => "\xEA\x9F\x9B", + "\xEA\x9F\x9C" => "\xC6\x9B", "\xEA\x9F\xB2" => "\x63", "\xEA\x9F\xB3" => "\x66", "\xEA\x9F\xB4" => "\x71", @@ -2828,6 +3054,7 @@ function idna_maps(): array "\xEF\xAC\xA6" => "\xD7\x9D", "\xEF\xAC\xA7" => "\xD7\xA8", "\xEF\xAC\xA8" => "\xD7\xAA", + "\xEF\xAC\xA9" => "\x2B", "\xEF\xAC\xAA" => "\xD7\xA9\xD7\x81", "\xEF\xAC\xAB" => "\xD7\xA9\xD7\x82", "\xEF\xAC\xAC" => "\xD7\xA9\xD6\xBC\xD7\x81", @@ -3098,6 +3325,12 @@ function idna_maps(): array "\xEF\xB1\x9B" => "\xD8\xB0\xD9\xB0", "\xEF\xB1\x9C" => "\xD8\xB1\xD9\xB0", "\xEF\xB1\x9D" => "\xD9\x89\xD9\xB0", + "\xEF\xB1\x9E" => "\x20\xD9\x8C\xD9\x91", + "\xEF\xB1\x9F" => "\x20\xD9\x8D\xD9\x91", + "\xEF\xB1\xA0" => "\x20\xD9\x8E\xD9\x91", + "\xEF\xB1\xA1" => "\x20\xD9\x8F\xD9\x91", + "\xEF\xB1\xA2" => "\x20\xD9\x90\xD9\x91", + "\xEF\xB1\xA3" => "\x20\xD9\x91\xD9\xB0", "\xEF\xB1\xA4" => "\xD8\xA6\xD8\xB1", "\xEF\xB1\xA5" => "\xD8\xA6\xD8\xB2", "\xEF\xB1\xA6" => "\xD8\xA6\xD9\x85", @@ -3444,12 +3677,25 @@ function idna_maps(): array "\xEF\xB7\xB7" => "\xD8\xB9\xD9\x84\xD9\x8A\xD9\x87", "\xEF\xB7\xB8" => "\xD9\x88\xD8\xB3\xD9\x84\xD9\x85", "\xEF\xB7\xB9" => "\xD8\xB5\xD9\x84\xD9\x89", + "\xEF\xB7\xBA" => "\xD8\xB5\xD9\x84\xD9\x89\x20\xD8\xA7\xD9\x84\xD9\x84\xD9\x87\x20\xD8\xB9\xD9\x84\xD9\x8A\xD9\x87\x20\xD9\x88\xD8\xB3\xD9\x84\xD9\x85", + "\xEF\xB7\xBB" => "\xD8\xAC\xD9\x84\x20\xD8\xAC\xD9\x84\xD8\xA7\xD9\x84\xD9\x87", "\xEF\xB7\xBC" => "\xD8\xB1\xDB\x8C\xD8\xA7\xD9\x84", + "\xEF\xB8\x90" => "\x2C", "\xEF\xB8\x91" => "\xE3\x80\x81", + "\xEF\xB8\x93" => "\x3A", + "\xEF\xB8\x94" => "\x3B", + "\xEF\xB8\x95" => "\x21", + "\xEF\xB8\x96" => "\x3F", "\xEF\xB8\x97" => "\xE3\x80\x96", "\xEF\xB8\x98" => "\xE3\x80\x97", "\xEF\xB8\xB1" => "\xE2\x80\x94", "\xEF\xB8\xB2" => "\xE2\x80\x93", + "\xEF\xB8\xB3" => "\x5F", + "\xEF\xB8\xB4" => "\x5F", + "\xEF\xB8\xB5" => "\x28", + "\xEF\xB8\xB6" => "\x29", + "\xEF\xB8\xB7" => "\x7B", + "\xEF\xB8\xB8" => "\x7D", "\xEF\xB8\xB9" => "\xE3\x80\x94", "\xEF\xB8\xBA" => "\xE3\x80\x95", "\xEF\xB8\xBB" => "\xE3\x80\x90", @@ -3462,16 +3708,53 @@ function idna_maps(): array "\xEF\xB9\x82" => "\xE3\x80\x8D", "\xEF\xB9\x83" => "\xE3\x80\x8E", "\xEF\xB9\x84" => "\xE3\x80\x8F", + "\xEF\xB9\x87" => "\x5B", + "\xEF\xB9\x88" => "\x5D", + "\xEF\xB9\x89" => "\x20\xCC\x85", + "\xEF\xB9\x8A" => "\x20\xCC\x85", + "\xEF\xB9\x8B" => "\x20\xCC\x85", + "\xEF\xB9\x8C" => "\x20\xCC\x85", + "\xEF\xB9\x8D" => "\x5F", + "\xEF\xB9\x8E" => "\x5F", + "\xEF\xB9\x8F" => "\x5F", + "\xEF\xB9\x90" => "\x2C", "\xEF\xB9\x91" => "\xE3\x80\x81", + "\xEF\xB9\x94" => "\x3B", + "\xEF\xB9\x95" => "\x3A", + "\xEF\xB9\x96" => "\x3F", + "\xEF\xB9\x97" => "\x21", "\xEF\xB9\x98" => "\xE2\x80\x94", + "\xEF\xB9\x99" => "\x28", + "\xEF\xB9\x9A" => "\x29", + "\xEF\xB9\x9B" => "\x7B", + "\xEF\xB9\x9C" => "\x7D", "\xEF\xB9\x9D" => "\xE3\x80\x94", "\xEF\xB9\x9E" => "\xE3\x80\x95", + "\xEF\xB9\x9F" => "\x23", + "\xEF\xB9\xA0" => "\x26", + "\xEF\xB9\xA1" => "\x2A", + "\xEF\xB9\xA2" => "\x2B", "\xEF\xB9\xA3" => "\x2D", + "\xEF\xB9\xA4" => "\x3C", + "\xEF\xB9\xA5" => "\x3E", + "\xEF\xB9\xA6" => "\x3D", + "\xEF\xB9\xA8" => "\x5C", + "\xEF\xB9\xA9" => "\x24", + "\xEF\xB9\xAA" => "\x25", + "\xEF\xB9\xAB" => "\x40", + "\xEF\xB9\xB0" => "\x20\xD9\x8B", "\xEF\xB9\xB1" => "\xD9\x80\xD9\x8B", + "\xEF\xB9\xB2" => "\x20\xD9\x8C", + "\xEF\xB9\xB4" => "\x20\xD9\x8D", + "\xEF\xB9\xB6" => "\x20\xD9\x8E", "\xEF\xB9\xB7" => "\xD9\x80\xD9\x8E", + "\xEF\xB9\xB8" => "\x20\xD9\x8F", "\xEF\xB9\xB9" => "\xD9\x80\xD9\x8F", + "\xEF\xB9\xBA" => "\x20\xD9\x90", "\xEF\xB9\xBB" => "\xD9\x80\xD9\x90", + "\xEF\xB9\xBC" => "\x20\xD9\x91", "\xEF\xB9\xBD" => "\xD9\x80\xD9\x91", + "\xEF\xB9\xBE" => "\x20\xD9\x92", "\xEF\xB9\xBF" => "\xD9\x80\xD9\x92", "\xEF\xBA\x80" => "\xD8\xA1", "\xEF\xBA\x81" => "\xD8\xA2", @@ -3598,8 +3881,21 @@ function idna_maps(): array "\xEF\xBB\xBA" => "\xD9\x84\xD8\xA5", "\xEF\xBB\xBB" => "\xD9\x84\xD8\xA7", "\xEF\xBB\xBC" => "\xD9\x84\xD8\xA7", + "\xEF\xBC\x81" => "\x21", + "\xEF\xBC\x82" => "\x22", + "\xEF\xBC\x83" => "\x23", + "\xEF\xBC\x84" => "\x24", + "\xEF\xBC\x85" => "\x25", + "\xEF\xBC\x86" => "\x26", + "\xEF\xBC\x87" => "\x27", + "\xEF\xBC\x88" => "\x28", + "\xEF\xBC\x89" => "\x29", + "\xEF\xBC\x8A" => "\x2A", + "\xEF\xBC\x8B" => "\x2B", + "\xEF\xBC\x8C" => "\x2C", "\xEF\xBC\x8D" => "\x2D", "\xEF\xBC\x8E" => "\x2E", + "\xEF\xBC\x8F" => "\x2F", "\xEF\xBC\x90" => "\x30", "\xEF\xBC\x91" => "\x31", "\xEF\xBC\x92" => "\x32", @@ -3610,12 +3906,19 @@ function idna_maps(): array "\xEF\xBC\x97" => "\x37", "\xEF\xBC\x98" => "\x38", "\xEF\xBC\x99" => "\x39", - "\xEF\xBC\xA1" => "\x61", - "\xEF\xBC\xA2" => "\x62", - "\xEF\xBC\xA3" => "\x63", - "\xEF\xBC\xA4" => "\x64", - "\xEF\xBC\xA5" => "\x65", - "\xEF\xBC\xA6" => "\x66", + "\xEF\xBC\x9A" => "\x3A", + "\xEF\xBC\x9B" => "\x3B", + "\xEF\xBC\x9C" => "\x3C", + "\xEF\xBC\x9D" => "\x3D", + "\xEF\xBC\x9E" => "\x3E", + "\xEF\xBC\x9F" => "\x3F", + "\xEF\xBC\xA0" => "\x40", + "\xEF\xBC\xA1" => "\x61", + "\xEF\xBC\xA2" => "\x62", + "\xEF\xBC\xA3" => "\x63", + "\xEF\xBC\xA4" => "\x64", + "\xEF\xBC\xA5" => "\x65", + "\xEF\xBC\xA6" => "\x66", "\xEF\xBC\xA7" => "\x67", "\xEF\xBC\xA8" => "\x68", "\xEF\xBC\xA9" => "\x69", @@ -3636,6 +3939,12 @@ function idna_maps(): array "\xEF\xBC\xB8" => "\x78", "\xEF\xBC\xB9" => "\x79", "\xEF\xBC\xBA" => "\x7A", + "\xEF\xBC\xBB" => "\x5B", + "\xEF\xBC\xBC" => "\x5C", + "\xEF\xBC\xBD" => "\x5D", + "\xEF\xBC\xBE" => "\x5E", + "\xEF\xBC\xBF" => "\x5F", + "\xEF\xBD\x80" => "\x60", "\xEF\xBD\x81" => "\x61", "\xEF\xBD\x82" => "\x62", "\xEF\xBD\x83" => "\x63", @@ -3662,6 +3971,10 @@ function idna_maps(): array "\xEF\xBD\x98" => "\x78", "\xEF\xBD\x99" => "\x79", "\xEF\xBD\x9A" => "\x7A", + "\xEF\xBD\x9B" => "\x7B", + "\xEF\xBD\x9C" => "\x7C", + "\xEF\xBD\x9D" => "\x7D", + "\xEF\xBD\x9E" => "\x7E", "\xEF\xBD\x9F" => "\xE2\xA6\x85", "\xEF\xBD\xA0" => "\xE2\xA6\x86", "\xEF\xBD\xA1" => "\x2E", @@ -3781,6 +4094,7 @@ function idna_maps(): array "\xEF\xBF\xA0" => "\xC2\xA2", "\xEF\xBF\xA1" => "\xC2\xA3", "\xEF\xBF\xA2" => "\xC2\xAC", + "\xEF\xBF\xA3" => "\x20\xCC\x84", "\xEF\xBF\xA4" => "\xC2\xA6", "\xEF\xBF\xA5" => "\xC2\xA5", "\xEF\xBF\xA6" => "\xE2\x82\xA9", @@ -4009,6 +4323,28 @@ function idna_maps(): array "\xF0\x90\xB2\xB0" => "\xF0\x90\xB3\xB0", "\xF0\x90\xB2\xB1" => "\xF0\x90\xB3\xB1", "\xF0\x90\xB2\xB2" => "\xF0\x90\xB3\xB2", + "\xF0\x90\xB5\x90" => "\xF0\x90\xB5\xB0", + "\xF0\x90\xB5\x91" => "\xF0\x90\xB5\xB1", + "\xF0\x90\xB5\x92" => "\xF0\x90\xB5\xB2", + "\xF0\x90\xB5\x93" => "\xF0\x90\xB5\xB3", + "\xF0\x90\xB5\x94" => "\xF0\x90\xB5\xB4", + "\xF0\x90\xB5\x95" => "\xF0\x90\xB5\xB5", + "\xF0\x90\xB5\x96" => "\xF0\x90\xB5\xB6", + "\xF0\x90\xB5\x97" => "\xF0\x90\xB5\xB7", + "\xF0\x90\xB5\x98" => "\xF0\x90\xB5\xB8", + "\xF0\x90\xB5\x99" => "\xF0\x90\xB5\xB9", + "\xF0\x90\xB5\x9A" => "\xF0\x90\xB5\xBA", + "\xF0\x90\xB5\x9B" => "\xF0\x90\xB5\xBB", + "\xF0\x90\xB5\x9C" => "\xF0\x90\xB5\xBC", + "\xF0\x90\xB5\x9D" => "\xF0\x90\xB5\xBD", + "\xF0\x90\xB5\x9E" => "\xF0\x90\xB5\xBE", + "\xF0\x90\xB5\x9F" => "\xF0\x90\xB5\xBF", + "\xF0\x90\xB5\xA0" => "\xF0\x90\xB6\x80", + "\xF0\x90\xB5\xA1" => "\xF0\x90\xB6\x81", + "\xF0\x90\xB5\xA2" => "\xF0\x90\xB6\x82", + "\xF0\x90\xB5\xA3" => "\xF0\x90\xB6\x83", + "\xF0\x90\xB5\xA4" => "\xF0\x90\xB6\x84", + "\xF0\x90\xB5\xA5" => "\xF0\x90\xB6\x85", "\xF0\x91\xA2\xA0" => "\xF0\x91\xA3\x80", "\xF0\x91\xA2\xA1" => "\xF0\x91\xA3\x81", "\xF0\x91\xA2\xA2" => "\xF0\x91\xA3\x82", @@ -4073,6 +4409,42 @@ function idna_maps(): array "\xF0\x96\xB9\x9D" => "\xF0\x96\xB9\xBD", "\xF0\x96\xB9\x9E" => "\xF0\x96\xB9\xBE", "\xF0\x96\xB9\x9F" => "\xF0\x96\xB9\xBF", + "\xF0\x9C\xB3\x96" => "\x61", + "\xF0\x9C\xB3\x97" => "\x62", + "\xF0\x9C\xB3\x98" => "\x63", + "\xF0\x9C\xB3\x99" => "\x64", + "\xF0\x9C\xB3\x9A" => "\x65", + "\xF0\x9C\xB3\x9B" => "\x66", + "\xF0\x9C\xB3\x9C" => "\x67", + "\xF0\x9C\xB3\x9D" => "\x68", + "\xF0\x9C\xB3\x9E" => "\x69", + "\xF0\x9C\xB3\x9F" => "\x6A", + "\xF0\x9C\xB3\xA0" => "\x6B", + "\xF0\x9C\xB3\xA1" => "\x6C", + "\xF0\x9C\xB3\xA2" => "\x6D", + "\xF0\x9C\xB3\xA3" => "\x6E", + "\xF0\x9C\xB3\xA4" => "\x6F", + "\xF0\x9C\xB3\xA5" => "\x70", + "\xF0\x9C\xB3\xA6" => "\x71", + "\xF0\x9C\xB3\xA7" => "\x72", + "\xF0\x9C\xB3\xA8" => "\x73", + "\xF0\x9C\xB3\xA9" => "\x74", + "\xF0\x9C\xB3\xAA" => "\x75", + "\xF0\x9C\xB3\xAB" => "\x76", + "\xF0\x9C\xB3\xAC" => "\x77", + "\xF0\x9C\xB3\xAD" => "\x78", + "\xF0\x9C\xB3\xAE" => "\x79", + "\xF0\x9C\xB3\xAF" => "\x7A", + "\xF0\x9C\xB3\xB0" => "\x30", + "\xF0\x9C\xB3\xB1" => "\x31", + "\xF0\x9C\xB3\xB2" => "\x32", + "\xF0\x9C\xB3\xB3" => "\x33", + "\xF0\x9C\xB3\xB4" => "\x34", + "\xF0\x9C\xB3\xB5" => "\x35", + "\xF0\x9C\xB3\xB6" => "\x36", + "\xF0\x9C\xB3\xB7" => "\x37", + "\xF0\x9C\xB3\xB8" => "\x38", + "\xF0\x9C\xB3\xB9" => "\x39", "\xF0\x9D\x85\x9E" => "\xF0\x9D\x85\x97\xF0\x9D\x85\xA5", "\xF0\x9D\x85\x9F" => "\xF0\x9D\x85\x98\xF0\x9D\x85\xA5", "\xF0\x9D\x85\xA0" => "\xF0\x9D\x85\x98\xF0\x9D\x85\xA5\xF0\x9D\x85\xAE", @@ -5319,6 +5691,42 @@ function idna_maps(): array "\xF0\x9E\xBA\xB9" => "\xD8\xB6", "\xF0\x9E\xBA\xBA" => "\xD8\xB8", "\xF0\x9E\xBA\xBB" => "\xD8\xBA", + "\xF0\x9F\x84\x81" => "\x30\x2C", + "\xF0\x9F\x84\x82" => "\x31\x2C", + "\xF0\x9F\x84\x83" => "\x32\x2C", + "\xF0\x9F\x84\x84" => "\x33\x2C", + "\xF0\x9F\x84\x85" => "\x34\x2C", + "\xF0\x9F\x84\x86" => "\x35\x2C", + "\xF0\x9F\x84\x87" => "\x36\x2C", + "\xF0\x9F\x84\x88" => "\x37\x2C", + "\xF0\x9F\x84\x89" => "\x38\x2C", + "\xF0\x9F\x84\x8A" => "\x39\x2C", + "\xF0\x9F\x84\x90" => "\x28\x61\x29", + "\xF0\x9F\x84\x91" => "\x28\x62\x29", + "\xF0\x9F\x84\x92" => "\x28\x63\x29", + "\xF0\x9F\x84\x93" => "\x28\x64\x29", + "\xF0\x9F\x84\x94" => "\x28\x65\x29", + "\xF0\x9F\x84\x95" => "\x28\x66\x29", + "\xF0\x9F\x84\x96" => "\x28\x67\x29", + "\xF0\x9F\x84\x97" => "\x28\x68\x29", + "\xF0\x9F\x84\x98" => "\x28\x69\x29", + "\xF0\x9F\x84\x99" => "\x28\x6A\x29", + "\xF0\x9F\x84\x9A" => "\x28\x6B\x29", + "\xF0\x9F\x84\x9B" => "\x28\x6C\x29", + "\xF0\x9F\x84\x9C" => "\x28\x6D\x29", + "\xF0\x9F\x84\x9D" => "\x28\x6E\x29", + "\xF0\x9F\x84\x9E" => "\x28\x6F\x29", + "\xF0\x9F\x84\x9F" => "\x28\x70\x29", + "\xF0\x9F\x84\xA0" => "\x28\x71\x29", + "\xF0\x9F\x84\xA1" => "\x28\x72\x29", + "\xF0\x9F\x84\xA2" => "\x28\x73\x29", + "\xF0\x9F\x84\xA3" => "\x28\x74\x29", + "\xF0\x9F\x84\xA4" => "\x28\x75\x29", + "\xF0\x9F\x84\xA5" => "\x28\x76\x29", + "\xF0\x9F\x84\xA6" => "\x28\x77\x29", + "\xF0\x9F\x84\xA7" => "\x28\x78\x29", + "\xF0\x9F\x84\xA8" => "\x28\x79\x29", + "\xF0\x9F\x84\xA9" => "\x28\x7A\x29", "\xF0\x9F\x84\xAA" => "\xE3\x80\x94\x73\xE3\x80\x95", "\xF0\x9F\x84\xAB" => "\x63", "\xF0\x9F\x84\xAC" => "\x72", @@ -5532,6 +5940,7 @@ function idna_maps(): array "\xF0\xAF\xA1\xA5" => "\xE5\xA7\x98", "\xF0\xAF\xA1\xA6" => "\xE5\xA9\xA6", "\xF0\xAF\xA1\xA7" => "\xE3\x9B\xAE", + "\xF0\xAF\xA1\xA8" => "\xE3\x9B\xBC", "\xF0\xAF\xA1\xA9" => "\xE5\xAC\x88", "\xF0\xAF\xA1\xAA" => "\xE5\xAC\xBE", "\xF0\xAF\xA1\xAB" => "\xE5\xAC\xBE", @@ -5543,6 +5952,7 @@ function idna_maps(): array "\xF0\xAF\xA1\xB1" => "\xF0\xA1\xAC\x98", "\xF0\xAF\xA1\xB2" => "\xE5\xAF\xBF", "\xF0\xAF\xA1\xB3" => "\xE5\xB0\x86", + "\xF0\xAF\xA1\xB4" => "\xE5\xBD\x93", "\xF0\xAF\xA1\xB5" => "\xE5\xB0\xA2", "\xF0\xAF\xA1\xB6" => "\xE3\x9E\x81", "\xF0\xAF\xA1\xB7" => "\xE5\xB1\xA0", @@ -5713,6 +6123,7 @@ function idna_maps(): array "\xF0\xAF\xA4\x9C" => "\xE7\x85\x85", "\xF0\xAF\xA4\x9D" => "\xF0\xA4\x89\xA3", "\xF0\xAF\xA4\x9E" => "\xE7\x86\x9C", + "\xF0\xAF\xA4\x9F" => "\xF0\xA4\x8E\xAB", "\xF0\xAF\xA4\xA0" => "\xE7\x88\xA8", "\xF0\xAF\xA4\xA1" => "\xE7\x88\xB5", "\xF0\xAF\xA4\xA2" => "\xE7\x89\x90", @@ -5776,6 +6187,7 @@ function idna_maps(): array "\xF0\xAF\xA5\x9C" => "\xF0\xA5\xA5\xBC", "\xF0\xAF\xA5\x9D" => "\xF0\xA5\xAA\xA7", "\xF0\xAF\xA5\x9E" => "\xF0\xA5\xAA\xA7", + "\xF0\xAF\xA5\x9F" => "\xE7\xAB\xAE", "\xF0\xAF\xA5\xA0" => "\xE4\x88\x82", "\xF0\xAF\xA5\xA1" => "\xF0\xA5\xAE\xAB", "\xF0\xAF\xA5\xA2" => "\xE7\xAF\x86", @@ -5871,6 +6283,7 @@ function idna_maps(): array "\xF0\xAF\xA6\xBC" => "\xE8\x9C\xA8", "\xF0\xAF\xA6\xBD" => "\xE8\x9D\xAB", "\xF0\xAF\xA6\xBE" => "\xE8\x9E\x86", + "\xF0\xAF\xA6\xBF" => "\xE4\x97\x97", "\xF0\xAF\xA7\x80" => "\xE8\x9F\xA1", "\xF0\xAF\xA7\x81" => "\xE8\xA0\x81", "\xF0\xAF\xA7\x82" => "\xE4\x97\xB9", @@ -5986,324 +6399,6 @@ function idna_maps_deviation(): array ]; } -/** - * Helper function for idn_to_* polyfills. - * - * Developers: Do not update the data in this function manually. Instead, - * run "php -f other/update_unicode_data.php" on the command line. - * - * @return array Non-STD3 character maps for IDNA processing. - */ -function idna_maps_not_std3(): array -{ - return [ - "\xC2\xA0" => "\x20", - "\xC2\xA8" => "\x20\xCC\x88", - "\xC2\xAF" => "\x20\xCC\x84", - "\xC2\xB4" => "\x20\xCC\x81", - "\xC2\xB8" => "\x20\xCC\xA7", - "\xCB\x98" => "\x20\xCC\x86", - "\xCB\x99" => "\x20\xCC\x87", - "\xCB\x9A" => "\x20\xCC\x8A", - "\xCB\x9B" => "\x20\xCC\xA8", - "\xCB\x9C" => "\x20\xCC\x83", - "\xCB\x9D" => "\x20\xCC\x8B", - "\xCD\xBA" => "\x20\xCE\xB9", - "\xCD\xBE" => "\x3B", - "\xCE\x84" => "\x20\xCC\x81", - "\xCE\x85" => "\x20\xCC\x88\xCC\x81", - "\xE1\xBE\xBD" => "\x20\xCC\x93", - "\xE1\xBE\xBF" => "\x20\xCC\x93", - "\xE1\xBF\x80" => "\x20\xCD\x82", - "\xE1\xBF\x81" => "\x20\xCC\x88\xCD\x82", - "\xE1\xBF\x8D" => "\x20\xCC\x93\xCC\x80", - "\xE1\xBF\x8E" => "\x20\xCC\x93\xCC\x81", - "\xE1\xBF\x8F" => "\x20\xCC\x93\xCD\x82", - "\xE1\xBF\x9D" => "\x20\xCC\x94\xCC\x80", - "\xE1\xBF\x9E" => "\x20\xCC\x94\xCC\x81", - "\xE1\xBF\x9F" => "\x20\xCC\x94\xCD\x82", - "\xE1\xBF\xAD" => "\x20\xCC\x88\xCC\x80", - "\xE1\xBF\xAE" => "\x20\xCC\x88\xCC\x81", - "\xE1\xBF\xAF" => "\x60", - "\xE1\xBF\xBD" => "\x20\xCC\x81", - "\xE1\xBF\xBE" => "\x20\xCC\x94", - "\xE2\x80\x80" => "\x20", - "\xE2\x80\x81" => "\x20", - "\xE2\x80\x82" => "\x20", - "\xE2\x80\x83" => "\x20", - "\xE2\x80\x84" => "\x20", - "\xE2\x80\x85" => "\x20", - "\xE2\x80\x86" => "\x20", - "\xE2\x80\x87" => "\x20", - "\xE2\x80\x88" => "\x20", - "\xE2\x80\x89" => "\x20", - "\xE2\x80\x8A" => "\x20", - "\xE2\x80\x97" => "\x20\xCC\xB3", - "\xE2\x80\xAF" => "\x20", - "\xE2\x80\xBC" => "\x21\x21", - "\xE2\x80\xBE" => "\x20\xCC\x85", - "\xE2\x81\x87" => "\x3F\x3F", - "\xE2\x81\x88" => "\x3F\x21", - "\xE2\x81\x89" => "\x21\x3F", - "\xE2\x81\x9F" => "\x20", - "\xE2\x81\xBA" => "\x2B", - "\xE2\x81\xBC" => "\x3D", - "\xE2\x81\xBD" => "\x28", - "\xE2\x81\xBE" => "\x29", - "\xE2\x82\x8A" => "\x2B", - "\xE2\x82\x8C" => "\x3D", - "\xE2\x82\x8D" => "\x28", - "\xE2\x82\x8E" => "\x29", - "\xE2\x84\x80" => "\x61\x2F\x63", - "\xE2\x84\x81" => "\x61\x2F\x73", - "\xE2\x84\x85" => "\x63\x2F\x6F", - "\xE2\x84\x86" => "\x63\x2F\x75", - "\xE2\x91\xB4" => "\x28\x31\x29", - "\xE2\x91\xB5" => "\x28\x32\x29", - "\xE2\x91\xB6" => "\x28\x33\x29", - "\xE2\x91\xB7" => "\x28\x34\x29", - "\xE2\x91\xB8" => "\x28\x35\x29", - "\xE2\x91\xB9" => "\x28\x36\x29", - "\xE2\x91\xBA" => "\x28\x37\x29", - "\xE2\x91\xBB" => "\x28\x38\x29", - "\xE2\x91\xBC" => "\x28\x39\x29", - "\xE2\x91\xBD" => "\x28\x31\x30\x29", - "\xE2\x91\xBE" => "\x28\x31\x31\x29", - "\xE2\x91\xBF" => "\x28\x31\x32\x29", - "\xE2\x92\x80" => "\x28\x31\x33\x29", - "\xE2\x92\x81" => "\x28\x31\x34\x29", - "\xE2\x92\x82" => "\x28\x31\x35\x29", - "\xE2\x92\x83" => "\x28\x31\x36\x29", - "\xE2\x92\x84" => "\x28\x31\x37\x29", - "\xE2\x92\x85" => "\x28\x31\x38\x29", - "\xE2\x92\x86" => "\x28\x31\x39\x29", - "\xE2\x92\x87" => "\x28\x32\x30\x29", - "\xE2\x92\x9C" => "\x28\x61\x29", - "\xE2\x92\x9D" => "\x28\x62\x29", - "\xE2\x92\x9E" => "\x28\x63\x29", - "\xE2\x92\x9F" => "\x28\x64\x29", - "\xE2\x92\xA0" => "\x28\x65\x29", - "\xE2\x92\xA1" => "\x28\x66\x29", - "\xE2\x92\xA2" => "\x28\x67\x29", - "\xE2\x92\xA3" => "\x28\x68\x29", - "\xE2\x92\xA4" => "\x28\x69\x29", - "\xE2\x92\xA5" => "\x28\x6A\x29", - "\xE2\x92\xA6" => "\x28\x6B\x29", - "\xE2\x92\xA7" => "\x28\x6C\x29", - "\xE2\x92\xA8" => "\x28\x6D\x29", - "\xE2\x92\xA9" => "\x28\x6E\x29", - "\xE2\x92\xAA" => "\x28\x6F\x29", - "\xE2\x92\xAB" => "\x28\x70\x29", - "\xE2\x92\xAC" => "\x28\x71\x29", - "\xE2\x92\xAD" => "\x28\x72\x29", - "\xE2\x92\xAE" => "\x28\x73\x29", - "\xE2\x92\xAF" => "\x28\x74\x29", - "\xE2\x92\xB0" => "\x28\x75\x29", - "\xE2\x92\xB1" => "\x28\x76\x29", - "\xE2\x92\xB2" => "\x28\x77\x29", - "\xE2\x92\xB3" => "\x28\x78\x29", - "\xE2\x92\xB4" => "\x28\x79\x29", - "\xE2\x92\xB5" => "\x28\x7A\x29", - "\xE2\xA9\xB4" => "\x3A\x3A\x3D", - "\xE2\xA9\xB5" => "\x3D\x3D", - "\xE2\xA9\xB6" => "\x3D\x3D\x3D", - "\xE3\x80\x80" => "\x20", - "\xE3\x82\x9B" => "\x20\xE3\x82\x99", - "\xE3\x82\x9C" => "\x20\xE3\x82\x9A", - "\xE3\x88\x80" => "\x28\xE1\x84\x80\x29", - "\xE3\x88\x81" => "\x28\xE1\x84\x82\x29", - "\xE3\x88\x82" => "\x28\xE1\x84\x83\x29", - "\xE3\x88\x83" => "\x28\xE1\x84\x85\x29", - "\xE3\x88\x84" => "\x28\xE1\x84\x86\x29", - "\xE3\x88\x85" => "\x28\xE1\x84\x87\x29", - "\xE3\x88\x86" => "\x28\xE1\x84\x89\x29", - "\xE3\x88\x87" => "\x28\xE1\x84\x8B\x29", - "\xE3\x88\x88" => "\x28\xE1\x84\x8C\x29", - "\xE3\x88\x89" => "\x28\xE1\x84\x8E\x29", - "\xE3\x88\x8A" => "\x28\xE1\x84\x8F\x29", - "\xE3\x88\x8B" => "\x28\xE1\x84\x90\x29", - "\xE3\x88\x8C" => "\x28\xE1\x84\x91\x29", - "\xE3\x88\x8D" => "\x28\xE1\x84\x92\x29", - "\xE3\x88\x8E" => "\x28\xEA\xB0\x80\x29", - "\xE3\x88\x8F" => "\x28\xEB\x82\x98\x29", - "\xE3\x88\x90" => "\x28\xEB\x8B\xA4\x29", - "\xE3\x88\x91" => "\x28\xEB\x9D\xBC\x29", - "\xE3\x88\x92" => "\x28\xEB\xA7\x88\x29", - "\xE3\x88\x93" => "\x28\xEB\xB0\x94\x29", - "\xE3\x88\x94" => "\x28\xEC\x82\xAC\x29", - "\xE3\x88\x95" => "\x28\xEC\x95\x84\x29", - "\xE3\x88\x96" => "\x28\xEC\x9E\x90\x29", - "\xE3\x88\x97" => "\x28\xEC\xB0\xA8\x29", - "\xE3\x88\x98" => "\x28\xEC\xB9\xB4\x29", - "\xE3\x88\x99" => "\x28\xED\x83\x80\x29", - "\xE3\x88\x9A" => "\x28\xED\x8C\x8C\x29", - "\xE3\x88\x9B" => "\x28\xED\x95\x98\x29", - "\xE3\x88\x9C" => "\x28\xEC\xA3\xBC\x29", - "\xE3\x88\x9D" => "\x28\xEC\x98\xA4\xEC\xA0\x84\x29", - "\xE3\x88\x9E" => "\x28\xEC\x98\xA4\xED\x9B\x84\x29", - "\xE3\x88\xA0" => "\x28\xE4\xB8\x80\x29", - "\xE3\x88\xA1" => "\x28\xE4\xBA\x8C\x29", - "\xE3\x88\xA2" => "\x28\xE4\xB8\x89\x29", - "\xE3\x88\xA3" => "\x28\xE5\x9B\x9B\x29", - "\xE3\x88\xA4" => "\x28\xE4\xBA\x94\x29", - "\xE3\x88\xA5" => "\x28\xE5\x85\xAD\x29", - "\xE3\x88\xA6" => "\x28\xE4\xB8\x83\x29", - "\xE3\x88\xA7" => "\x28\xE5\x85\xAB\x29", - "\xE3\x88\xA8" => "\x28\xE4\xB9\x9D\x29", - "\xE3\x88\xA9" => "\x28\xE5\x8D\x81\x29", - "\xE3\x88\xAA" => "\x28\xE6\x9C\x88\x29", - "\xE3\x88\xAB" => "\x28\xE7\x81\xAB\x29", - "\xE3\x88\xAC" => "\x28\xE6\xB0\xB4\x29", - "\xE3\x88\xAD" => "\x28\xE6\x9C\xA8\x29", - "\xE3\x88\xAE" => "\x28\xE9\x87\x91\x29", - "\xE3\x88\xAF" => "\x28\xE5\x9C\x9F\x29", - "\xE3\x88\xB0" => "\x28\xE6\x97\xA5\x29", - "\xE3\x88\xB1" => "\x28\xE6\xA0\xAA\x29", - "\xE3\x88\xB2" => "\x28\xE6\x9C\x89\x29", - "\xE3\x88\xB3" => "\x28\xE7\xA4\xBE\x29", - "\xE3\x88\xB4" => "\x28\xE5\x90\x8D\x29", - "\xE3\x88\xB5" => "\x28\xE7\x89\xB9\x29", - "\xE3\x88\xB6" => "\x28\xE8\xB2\xA1\x29", - "\xE3\x88\xB7" => "\x28\xE7\xA5\x9D\x29", - "\xE3\x88\xB8" => "\x28\xE5\x8A\xB4\x29", - "\xE3\x88\xB9" => "\x28\xE4\xBB\xA3\x29", - "\xE3\x88\xBA" => "\x28\xE5\x91\xBC\x29", - "\xE3\x88\xBB" => "\x28\xE5\xAD\xA6\x29", - "\xE3\x88\xBC" => "\x28\xE7\x9B\xA3\x29", - "\xE3\x88\xBD" => "\x28\xE4\xBC\x81\x29", - "\xE3\x88\xBE" => "\x28\xE8\xB3\x87\x29", - "\xE3\x88\xBF" => "\x28\xE5\x8D\x94\x29", - "\xE3\x89\x80" => "\x28\xE7\xA5\xAD\x29", - "\xE3\x89\x81" => "\x28\xE4\xBC\x91\x29", - "\xE3\x89\x82" => "\x28\xE8\x87\xAA\x29", - "\xE3\x89\x83" => "\x28\xE8\x87\xB3\x29", - "\xEF\xAC\xA9" => "\x2B", - "\xEF\xB1\x9E" => "\x20\xD9\x8C\xD9\x91", - "\xEF\xB1\x9F" => "\x20\xD9\x8D\xD9\x91", - "\xEF\xB1\xA0" => "\x20\xD9\x8E\xD9\x91", - "\xEF\xB1\xA1" => "\x20\xD9\x8F\xD9\x91", - "\xEF\xB1\xA2" => "\x20\xD9\x90\xD9\x91", - "\xEF\xB1\xA3" => "\x20\xD9\x91\xD9\xB0", - "\xEF\xB7\xBA" => "\xD8\xB5\xD9\x84\xD9\x89\x20\xD8\xA7\xD9\x84\xD9\x84\xD9\x87\x20\xD8\xB9\xD9\x84\xD9\x8A\xD9\x87\x20\xD9\x88\xD8\xB3\xD9\x84\xD9\x85", - "\xEF\xB7\xBB" => "\xD8\xAC\xD9\x84\x20\xD8\xAC\xD9\x84\xD8\xA7\xD9\x84\xD9\x87", - "\xEF\xB8\x90" => "\x2C", - "\xEF\xB8\x93" => "\x3A", - "\xEF\xB8\x94" => "\x3B", - "\xEF\xB8\x95" => "\x21", - "\xEF\xB8\x96" => "\x3F", - "\xEF\xB8\xB3" => "\x5F", - "\xEF\xB8\xB4" => "\x5F", - "\xEF\xB8\xB5" => "\x28", - "\xEF\xB8\xB6" => "\x29", - "\xEF\xB8\xB7" => "\x7B", - "\xEF\xB8\xB8" => "\x7D", - "\xEF\xB9\x87" => "\x5B", - "\xEF\xB9\x88" => "\x5D", - "\xEF\xB9\x89" => "\x20\xCC\x85", - "\xEF\xB9\x8A" => "\x20\xCC\x85", - "\xEF\xB9\x8B" => "\x20\xCC\x85", - "\xEF\xB9\x8C" => "\x20\xCC\x85", - "\xEF\xB9\x8D" => "\x5F", - "\xEF\xB9\x8E" => "\x5F", - "\xEF\xB9\x8F" => "\x5F", - "\xEF\xB9\x90" => "\x2C", - "\xEF\xB9\x94" => "\x3B", - "\xEF\xB9\x95" => "\x3A", - "\xEF\xB9\x96" => "\x3F", - "\xEF\xB9\x97" => "\x21", - "\xEF\xB9\x99" => "\x28", - "\xEF\xB9\x9A" => "\x29", - "\xEF\xB9\x9B" => "\x7B", - "\xEF\xB9\x9C" => "\x7D", - "\xEF\xB9\x9F" => "\x23", - "\xEF\xB9\xA0" => "\x26", - "\xEF\xB9\xA1" => "\x2A", - "\xEF\xB9\xA2" => "\x2B", - "\xEF\xB9\xA4" => "\x3C", - "\xEF\xB9\xA5" => "\x3E", - "\xEF\xB9\xA6" => "\x3D", - "\xEF\xB9\xA8" => "\x5C", - "\xEF\xB9\xA9" => "\x24", - "\xEF\xB9\xAA" => "\x25", - "\xEF\xB9\xAB" => "\x40", - "\xEF\xB9\xB0" => "\x20\xD9\x8B", - "\xEF\xB9\xB2" => "\x20\xD9\x8C", - "\xEF\xB9\xB4" => "\x20\xD9\x8D", - "\xEF\xB9\xB6" => "\x20\xD9\x8E", - "\xEF\xB9\xB8" => "\x20\xD9\x8F", - "\xEF\xB9\xBA" => "\x20\xD9\x90", - "\xEF\xB9\xBC" => "\x20\xD9\x91", - "\xEF\xB9\xBE" => "\x20\xD9\x92", - "\xEF\xBC\x81" => "\x21", - "\xEF\xBC\x82" => "\x22", - "\xEF\xBC\x83" => "\x23", - "\xEF\xBC\x84" => "\x24", - "\xEF\xBC\x85" => "\x25", - "\xEF\xBC\x86" => "\x26", - "\xEF\xBC\x87" => "\x27", - "\xEF\xBC\x88" => "\x28", - "\xEF\xBC\x89" => "\x29", - "\xEF\xBC\x8A" => "\x2A", - "\xEF\xBC\x8B" => "\x2B", - "\xEF\xBC\x8C" => "\x2C", - "\xEF\xBC\x8F" => "\x2F", - "\xEF\xBC\x9A" => "\x3A", - "\xEF\xBC\x9B" => "\x3B", - "\xEF\xBC\x9C" => "\x3C", - "\xEF\xBC\x9D" => "\x3D", - "\xEF\xBC\x9E" => "\x3E", - "\xEF\xBC\x9F" => "\x3F", - "\xEF\xBC\xA0" => "\x40", - "\xEF\xBC\xBB" => "\x5B", - "\xEF\xBC\xBC" => "\x5C", - "\xEF\xBC\xBD" => "\x5D", - "\xEF\xBC\xBE" => "\x5E", - "\xEF\xBC\xBF" => "\x5F", - "\xEF\xBD\x80" => "\x60", - "\xEF\xBD\x9B" => "\x7B", - "\xEF\xBD\x9C" => "\x7C", - "\xEF\xBD\x9D" => "\x7D", - "\xEF\xBD\x9E" => "\x7E", - "\xEF\xBF\xA3" => "\x20\xCC\x84", - "\xF0\x9F\x84\x81" => "\x30\x2C", - "\xF0\x9F\x84\x82" => "\x31\x2C", - "\xF0\x9F\x84\x83" => "\x32\x2C", - "\xF0\x9F\x84\x84" => "\x33\x2C", - "\xF0\x9F\x84\x85" => "\x34\x2C", - "\xF0\x9F\x84\x86" => "\x35\x2C", - "\xF0\x9F\x84\x87" => "\x36\x2C", - "\xF0\x9F\x84\x88" => "\x37\x2C", - "\xF0\x9F\x84\x89" => "\x38\x2C", - "\xF0\x9F\x84\x8A" => "\x39\x2C", - "\xF0\x9F\x84\x90" => "\x28\x61\x29", - "\xF0\x9F\x84\x91" => "\x28\x62\x29", - "\xF0\x9F\x84\x92" => "\x28\x63\x29", - "\xF0\x9F\x84\x93" => "\x28\x64\x29", - "\xF0\x9F\x84\x94" => "\x28\x65\x29", - "\xF0\x9F\x84\x95" => "\x28\x66\x29", - "\xF0\x9F\x84\x96" => "\x28\x67\x29", - "\xF0\x9F\x84\x97" => "\x28\x68\x29", - "\xF0\x9F\x84\x98" => "\x28\x69\x29", - "\xF0\x9F\x84\x99" => "\x28\x6A\x29", - "\xF0\x9F\x84\x9A" => "\x28\x6B\x29", - "\xF0\x9F\x84\x9B" => "\x28\x6C\x29", - "\xF0\x9F\x84\x9C" => "\x28\x6D\x29", - "\xF0\x9F\x84\x9D" => "\x28\x6E\x29", - "\xF0\x9F\x84\x9E" => "\x28\x6F\x29", - "\xF0\x9F\x84\x9F" => "\x28\x70\x29", - "\xF0\x9F\x84\xA0" => "\x28\x71\x29", - "\xF0\x9F\x84\xA1" => "\x28\x72\x29", - "\xF0\x9F\x84\xA2" => "\x28\x73\x29", - "\xF0\x9F\x84\xA3" => "\x28\x74\x29", - "\xF0\x9F\x84\xA4" => "\x28\x75\x29", - "\xF0\x9F\x84\xA5" => "\x28\x76\x29", - "\xF0\x9F\x84\xA6" => "\x28\x77\x29", - "\xF0\x9F\x84\xA7" => "\x28\x78\x29", - "\xF0\x9F\x84\xA8" => "\x28\x79\x29", - "\xF0\x9F\x84\xA9" => "\x28\x7A\x29", - ]; -} - /** * Helper function for idn_to_* polyfills. * @@ -6315,300 +6410,6 @@ function idna_maps_not_std3(): array function idna_regex(): array { return [ - 'disallowed_std3' => - '\\x{0}-\\x{2C}' . - '\\x{2F}' . - '\\x{3A}-\\x{40}' . - '\\x{5B}-\\x{60}' . - '\\x{7B}-\\x{7F}' . - '\\x{A0}' . - '\\x{A8}' . - '\\x{AF}' . - '\\x{B4}' . - '\\x{B8}' . - '\\x{2D8}' . - '\\x{2D9}' . - '\\x{2DA}' . - '\\x{2DB}' . - '\\x{2DC}' . - '\\x{2DD}' . - '\\x{37A}' . - '\\x{37E}' . - '\\x{384}' . - '\\x{385}' . - '\\x{1FBD}' . - '\\x{1FBF}' . - '\\x{1FC0}' . - '\\x{1FC1}' . - '\\x{1FCD}' . - '\\x{1FCE}' . - '\\x{1FCF}' . - '\\x{1FDD}' . - '\\x{1FDE}' . - '\\x{1FDF}' . - '\\x{1FED}' . - '\\x{1FEE}' . - '\\x{1FEF}' . - '\\x{1FFD}' . - '\\x{1FFE}' . - '\\x{2000}-\\x{200A}' . - '\\x{2017}' . - '\\x{202F}' . - '\\x{203C}' . - '\\x{203E}' . - '\\x{2047}' . - '\\x{2048}' . - '\\x{2049}' . - '\\x{205F}' . - '\\x{207A}' . - '\\x{207C}' . - '\\x{207D}' . - '\\x{207E}' . - '\\x{208A}' . - '\\x{208C}' . - '\\x{208D}' . - '\\x{208E}' . - '\\x{2100}' . - '\\x{2101}' . - '\\x{2105}' . - '\\x{2106}' . - '\\x{2474}' . - '\\x{2475}' . - '\\x{2476}' . - '\\x{2477}' . - '\\x{2478}' . - '\\x{2479}' . - '\\x{247A}' . - '\\x{247B}' . - '\\x{247C}' . - '\\x{247D}' . - '\\x{247E}' . - '\\x{247F}' . - '\\x{2480}' . - '\\x{2481}' . - '\\x{2482}' . - '\\x{2483}' . - '\\x{2484}' . - '\\x{2485}' . - '\\x{2486}' . - '\\x{2487}' . - '\\x{249C}' . - '\\x{249D}' . - '\\x{249E}' . - '\\x{249F}' . - '\\x{24A0}' . - '\\x{24A1}' . - '\\x{24A2}' . - '\\x{24A3}' . - '\\x{24A4}' . - '\\x{24A5}' . - '\\x{24A6}' . - '\\x{24A7}' . - '\\x{24A8}' . - '\\x{24A9}' . - '\\x{24AA}' . - '\\x{24AB}' . - '\\x{24AC}' . - '\\x{24AD}' . - '\\x{24AE}' . - '\\x{24AF}' . - '\\x{24B0}' . - '\\x{24B1}' . - '\\x{24B2}' . - '\\x{24B3}' . - '\\x{24B4}' . - '\\x{24B5}' . - '\\x{2A74}' . - '\\x{2A75}' . - '\\x{2A76}' . - '\\x{3000}' . - '\\x{309B}' . - '\\x{309C}' . - '\\x{3200}' . - '\\x{3201}' . - '\\x{3202}' . - '\\x{3203}' . - '\\x{3204}' . - '\\x{3205}' . - '\\x{3206}' . - '\\x{3207}' . - '\\x{3208}' . - '\\x{3209}' . - '\\x{320A}' . - '\\x{320B}' . - '\\x{320C}' . - '\\x{320D}' . - '\\x{320E}' . - '\\x{320F}' . - '\\x{3210}' . - '\\x{3211}' . - '\\x{3212}' . - '\\x{3213}' . - '\\x{3214}' . - '\\x{3215}' . - '\\x{3216}' . - '\\x{3217}' . - '\\x{3218}' . - '\\x{3219}' . - '\\x{321A}' . - '\\x{321B}' . - '\\x{321C}' . - '\\x{321D}' . - '\\x{321E}' . - '\\x{3220}' . - '\\x{3221}' . - '\\x{3222}' . - '\\x{3223}' . - '\\x{3224}' . - '\\x{3225}' . - '\\x{3226}' . - '\\x{3227}' . - '\\x{3228}' . - '\\x{3229}' . - '\\x{322A}' . - '\\x{322B}' . - '\\x{322C}' . - '\\x{322D}' . - '\\x{322E}' . - '\\x{322F}' . - '\\x{3230}' . - '\\x{3231}' . - '\\x{3232}' . - '\\x{3233}' . - '\\x{3234}' . - '\\x{3235}' . - '\\x{3236}' . - '\\x{3237}' . - '\\x{3238}' . - '\\x{3239}' . - '\\x{323A}' . - '\\x{323B}' . - '\\x{323C}' . - '\\x{323D}' . - '\\x{323E}' . - '\\x{323F}' . - '\\x{3240}' . - '\\x{3241}' . - '\\x{3242}' . - '\\x{3243}' . - '\\x{FB29}' . - '\\x{FC5E}' . - '\\x{FC5F}' . - '\\x{FC60}' . - '\\x{FC61}' . - '\\x{FC62}' . - '\\x{FC63}' . - '\\x{FDFA}' . - '\\x{FDFB}' . - '\\x{FE10}' . - '\\x{FE13}' . - '\\x{FE14}' . - '\\x{FE15}' . - '\\x{FE16}' . - '\\x{FE33}-\\x{FE34}' . - '\\x{FE35}' . - '\\x{FE36}' . - '\\x{FE37}' . - '\\x{FE38}' . - '\\x{FE47}' . - '\\x{FE48}' . - '\\x{FE49}-\\x{FE4C}' . - '\\x{FE4D}-\\x{FE4F}' . - '\\x{FE50}' . - '\\x{FE54}' . - '\\x{FE55}' . - '\\x{FE56}' . - '\\x{FE57}' . - '\\x{FE59}' . - '\\x{FE5A}' . - '\\x{FE5B}' . - '\\x{FE5C}' . - '\\x{FE5F}' . - '\\x{FE60}' . - '\\x{FE61}' . - '\\x{FE62}' . - '\\x{FE64}' . - '\\x{FE65}' . - '\\x{FE66}' . - '\\x{FE68}' . - '\\x{FE69}' . - '\\x{FE6A}' . - '\\x{FE6B}' . - '\\x{FE70}' . - '\\x{FE72}' . - '\\x{FE74}' . - '\\x{FE76}' . - '\\x{FE78}' . - '\\x{FE7A}' . - '\\x{FE7C}' . - '\\x{FE7E}' . - '\\x{FF01}' . - '\\x{FF02}' . - '\\x{FF03}' . - '\\x{FF04}' . - '\\x{FF05}' . - '\\x{FF06}' . - '\\x{FF07}' . - '\\x{FF08}' . - '\\x{FF09}' . - '\\x{FF0A}' . - '\\x{FF0B}' . - '\\x{FF0C}' . - '\\x{FF0F}' . - '\\x{FF1A}' . - '\\x{FF1B}' . - '\\x{FF1C}' . - '\\x{FF1D}' . - '\\x{FF1E}' . - '\\x{FF1F}' . - '\\x{FF20}' . - '\\x{FF3B}' . - '\\x{FF3C}' . - '\\x{FF3D}' . - '\\x{FF3E}' . - '\\x{FF3F}' . - '\\x{FF40}' . - '\\x{FF5B}' . - '\\x{FF5C}' . - '\\x{FF5D}' . - '\\x{FF5E}' . - '\\x{FFE3}' . - '\\x{1F101}' . - '\\x{1F102}' . - '\\x{1F103}' . - '\\x{1F104}' . - '\\x{1F105}' . - '\\x{1F106}' . - '\\x{1F107}' . - '\\x{1F108}' . - '\\x{1F109}' . - '\\x{1F10A}' . - '\\x{1F110}' . - '\\x{1F111}' . - '\\x{1F112}' . - '\\x{1F113}' . - '\\x{1F114}' . - '\\x{1F115}' . - '\\x{1F116}' . - '\\x{1F117}' . - '\\x{1F118}' . - '\\x{1F119}' . - '\\x{1F11A}' . - '\\x{1F11B}' . - '\\x{1F11C}' . - '\\x{1F11D}' . - '\\x{1F11E}' . - '\\x{1F11F}' . - '\\x{1F120}' . - '\\x{1F121}' . - '\\x{1F122}' . - '\\x{1F123}' . - '\\x{1F124}' . - '\\x{1F125}' . - '\\x{1F126}' . - '\\x{1F127}' . - '\\x{1F128}' . - '\\x{1F129}', 'disallowed' => '\\x{80}-\\x{9F}' . '\\x{378}-\\x{379}' . @@ -6616,7 +6417,6 @@ function idna_regex(): array '\\x{38B}' . '\\x{38D}' . '\\x{3A2}' . - '\\x{4C0}' . '\\x{530}' . '\\x{557}-\\x{558}' . '\\x{58B}-\\x{58C}' . @@ -6641,7 +6441,7 @@ function idna_regex(): array '\\x{86B}-\\x{86F}' . '\\x{88F}' . '\\x{890}-\\x{891}' . - '\\x{892}-\\x{897}' . + '\\x{892}-\\x{896}' . '\\x{8E2}' . '\\x{984}' . '\\x{98D}-\\x{98E}' . @@ -6780,11 +6580,9 @@ function idna_regex(): array '\\x{FBD}' . '\\x{FCD}' . '\\x{FDB}-\\x{FFF}' . - '\\x{10A0}-\\x{10C5}' . '\\x{10C6}' . '\\x{10C8}-\\x{10CC}' . '\\x{10CE}-\\x{10CF}' . - '\\x{115F}-\\x{1160}' . '\\x{1249}' . '\\x{124E}-\\x{124F}' . '\\x{1257}' . @@ -6814,12 +6612,9 @@ function idna_regex(): array '\\x{176D}' . '\\x{1771}' . '\\x{1774}-\\x{177F}' . - '\\x{17B4}-\\x{17B5}' . '\\x{17DE}-\\x{17DF}' . '\\x{17EA}-\\x{17EF}' . '\\x{17FA}-\\x{17FF}' . - '\\x{1806}' . - '\\x{180E}' . '\\x{181A}-\\x{181F}' . '\\x{1879}-\\x{187F}' . '\\x{18AB}-\\x{18AF}' . @@ -6840,12 +6635,11 @@ function idna_regex(): array '\\x{1A9A}-\\x{1A9F}' . '\\x{1AAE}-\\x{1AAF}' . '\\x{1ACF}-\\x{1AFF}' . - '\\x{1B4D}-\\x{1B4F}' . - '\\x{1B7F}' . + '\\x{1B4D}' . '\\x{1BF4}-\\x{1BFB}' . '\\x{1C38}-\\x{1C3A}' . '\\x{1C4A}-\\x{1C4C}' . - '\\x{1C89}-\\x{1C8F}' . + '\\x{1C8B}-\\x{1C8F}' . '\\x{1CBB}-\\x{1CBC}' . '\\x{1CC8}-\\x{1CCF}' . '\\x{1CFB}-\\x{1CFF}' . @@ -6868,19 +6662,15 @@ function idna_regex(): array '\\x{200E}-\\x{200F}' . '\\x{2024}-\\x{2026}' . '\\x{2028}-\\x{202E}' . - '\\x{2061}-\\x{2063}' . '\\x{2065}' . '\\x{2066}-\\x{2069}' . - '\\x{206A}-\\x{206F}' . '\\x{2072}-\\x{2073}' . '\\x{208F}' . '\\x{209D}-\\x{209F}' . '\\x{20C1}-\\x{20CF}' . '\\x{20F1}-\\x{20FF}' . - '\\x{2132}' . - '\\x{2183}' . '\\x{218C}-\\x{218F}' . - '\\x{2427}-\\x{243F}' . + '\\x{242A}-\\x{243F}' . '\\x{244B}-\\x{245F}' . '\\x{2488}-\\x{249B}' . '\\x{2B74}-\\x{2B75}' . @@ -6910,9 +6700,8 @@ function idna_regex(): array '\\x{3097}-\\x{3098}' . '\\x{3100}-\\x{3104}' . '\\x{3130}' . - '\\x{3164}' . '\\x{318F}' . - '\\x{31E4}-\\x{31EE}' . + '\\x{31E6}-\\x{31EE}' . '\\x{31EF}' . '\\x{321F}' . '\\x{33C2}' . @@ -6922,10 +6711,10 @@ function idna_regex(): array '\\x{A4C7}-\\x{A4CF}' . '\\x{A62C}-\\x{A63F}' . '\\x{A6F8}-\\x{A6FF}' . - '\\x{A7CB}-\\x{A7CF}' . + '\\x{A7CE}-\\x{A7CF}' . '\\x{A7D2}' . '\\x{A7D4}' . - '\\x{A7DA}-\\x{A7F1}' . + '\\x{A7DD}-\\x{A7F1}' . '\\x{A82D}-\\x{A82F}' . '\\x{A83A}-\\x{A83F}' . '\\x{A878}-\\x{A87F}' . @@ -6977,7 +6766,6 @@ function idna_regex(): array '\\x{FE75}' . '\\x{FEFD}-\\x{FEFE}' . '\\x{FF00}' . - '\\x{FFA0}' . '\\x{FFBF}-\\x{FFC1}' . '\\x{FFC8}-\\x{FFC9}' . '\\x{FFD0}-\\x{FFD1}' . @@ -7024,7 +6812,8 @@ function idna_regex(): array '\\x{105A2}' . '\\x{105B2}' . '\\x{105BA}' . - '\\x{105BD}-\\x{105FF}' . + '\\x{105BD}-\\x{105BF}' . + '\\x{105F4}-\\x{105FF}' . '\\x{10737}-\\x{1073F}' . '\\x{10756}-\\x{1075F}' . '\\x{10768}-\\x{1077F}' . @@ -7067,11 +6856,15 @@ function idna_regex(): array '\\x{10CB3}-\\x{10CBF}' . '\\x{10CF3}-\\x{10CF9}' . '\\x{10D28}-\\x{10D2F}' . - '\\x{10D3A}-\\x{10E5F}' . + '\\x{10D3A}-\\x{10D3F}' . + '\\x{10D66}-\\x{10D68}' . + '\\x{10D86}-\\x{10D8D}' . + '\\x{10D90}-\\x{10E5F}' . '\\x{10E7F}' . '\\x{10EAA}' . '\\x{10EAE}-\\x{10EAF}' . - '\\x{10EB2}-\\x{10EFC}' . + '\\x{10EB2}-\\x{10EC1}' . + '\\x{10EC5}-\\x{10EFB}' . '\\x{10F28}-\\x{10F2F}' . '\\x{10F5A}-\\x{10F6F}' . '\\x{10F8A}-\\x{10FAF}' . @@ -7113,7 +6906,18 @@ function idna_regex(): array '\\x{11358}-\\x{1135C}' . '\\x{11364}-\\x{11365}' . '\\x{1136D}-\\x{1136F}' . - '\\x{11375}-\\x{113FF}' . + '\\x{11375}-\\x{1137F}' . + '\\x{1138A}' . + '\\x{1138C}-\\x{1138D}' . + '\\x{1138F}' . + '\\x{113B6}' . + '\\x{113C1}' . + '\\x{113C3}-\\x{113C4}' . + '\\x{113C6}' . + '\\x{113CB}' . + '\\x{113D6}' . + '\\x{113D9}-\\x{113E0}' . + '\\x{113E3}-\\x{113FF}' . '\\x{1145C}' . '\\x{11462}-\\x{1147F}' . '\\x{114C8}-\\x{114CF}' . @@ -7124,7 +6928,8 @@ function idna_regex(): array '\\x{1165A}-\\x{1165F}' . '\\x{1166D}-\\x{1167F}' . '\\x{116BA}-\\x{116BF}' . - '\\x{116CA}-\\x{116FF}' . + '\\x{116CA}-\\x{116CF}' . + '\\x{116E4}-\\x{116FF}' . '\\x{1171B}-\\x{1171C}' . '\\x{1172C}-\\x{1172F}' . '\\x{11747}-\\x{117FF}' . @@ -7144,7 +6949,9 @@ function idna_regex(): array '\\x{11A48}-\\x{11A4F}' . '\\x{11AA3}-\\x{11AAF}' . '\\x{11AF9}-\\x{11AFF}' . - '\\x{11B0A}-\\x{11BFF}' . + '\\x{11B0A}-\\x{11BBF}' . + '\\x{11BE2}-\\x{11BEF}' . + '\\x{11BFA}-\\x{11BFF}' . '\\x{11C09}' . '\\x{11C37}' . '\\x{11C46}-\\x{11C4F}' . @@ -7168,7 +6975,7 @@ function idna_regex(): array '\\x{11EF9}-\\x{11EFF}' . '\\x{11F11}' . '\\x{11F3B}-\\x{11F3D}' . - '\\x{11F5A}-\\x{11FAF}' . + '\\x{11F5B}-\\x{11FAF}' . '\\x{11FB1}-\\x{11FBF}' . '\\x{11FF2}-\\x{11FFE}' . '\\x{1239A}-\\x{123FF}' . @@ -7178,8 +6985,10 @@ function idna_regex(): array '\\x{12FF3}-\\x{12FFF}' . '\\x{13430}-\\x{13438}' . '\\x{13439}-\\x{1343F}' . - '\\x{13456}-\\x{143FF}' . - '\\x{14647}-\\x{167FF}' . + '\\x{13456}-\\x{1345F}' . + '\\x{143FB}-\\x{143FF}' . + '\\x{14647}-\\x{160FF}' . + '\\x{1613A}-\\x{167FF}' . '\\x{16A39}-\\x{16A3F}' . '\\x{16A5F}' . '\\x{16A6A}-\\x{16A6D}' . @@ -7191,7 +7000,8 @@ function idna_regex(): array '\\x{16B5A}' . '\\x{16B62}' . '\\x{16B78}-\\x{16B7C}' . - '\\x{16B90}-\\x{16E3F}' . + '\\x{16B90}-\\x{16D3F}' . + '\\x{16D7A}-\\x{16E3F}' . '\\x{16E9B}-\\x{16EFF}' . '\\x{16F4B}-\\x{16F4E}' . '\\x{16F88}-\\x{16F8E}' . @@ -7199,7 +7009,7 @@ function idna_regex(): array '\\x{16FE5}-\\x{16FEF}' . '\\x{16FF2}-\\x{16FFF}' . '\\x{187F8}-\\x{187FF}' . - '\\x{18CD6}-\\x{18CFF}' . + '\\x{18CD6}-\\x{18CFE}' . '\\x{18D09}-\\x{1AFEF}' . '\\x{1AFF4}' . '\\x{1AFFC}' . @@ -7214,13 +7024,14 @@ function idna_regex(): array '\\x{1BC7D}-\\x{1BC7F}' . '\\x{1BC89}-\\x{1BC8F}' . '\\x{1BC9A}-\\x{1BC9B}' . - '\\x{1BCA4}-\\x{1CEFF}' . + '\\x{1BCA4}-\\x{1CBFF}' . + '\\x{1CCFA}-\\x{1CCFF}' . + '\\x{1CEB4}-\\x{1CEFF}' . '\\x{1CF2E}-\\x{1CF2F}' . '\\x{1CF47}-\\x{1CF4F}' . '\\x{1CFC4}-\\x{1CFFF}' . '\\x{1D0F6}-\\x{1D0FF}' . '\\x{1D127}-\\x{1D128}' . - '\\x{1D173}-\\x{1D17A}' . '\\x{1D1EB}-\\x{1D1FF}' . '\\x{1D246}-\\x{1D2BF}' . '\\x{1D2D4}-\\x{1D2DF}' . @@ -7266,7 +7077,9 @@ function idna_regex(): array '\\x{1E2AF}-\\x{1E2BF}' . '\\x{1E2FA}-\\x{1E2FE}' . '\\x{1E300}-\\x{1E4CF}' . - '\\x{1E4FA}-\\x{1E7DF}' . + '\\x{1E4FA}-\\x{1E5CF}' . + '\\x{1E5FB}-\\x{1E5FE}' . + '\\x{1E600}-\\x{1E7DF}' . '\\x{1E7E7}' . '\\x{1E7EC}' . '\\x{1E7EF}' . @@ -7337,18 +7150,17 @@ function idna_regex(): array '\\x{1F85A}-\\x{1F85F}' . '\\x{1F888}-\\x{1F88F}' . '\\x{1F8AE}-\\x{1F8AF}' . - '\\x{1F8B2}-\\x{1F8FF}' . + '\\x{1F8BC}-\\x{1F8BF}' . + '\\x{1F8C2}-\\x{1F8FF}' . '\\x{1FA54}-\\x{1FA5F}' . '\\x{1FA6E}-\\x{1FA6F}' . '\\x{1FA7D}-\\x{1FA7F}' . - '\\x{1FA89}-\\x{1FA8F}' . - '\\x{1FABE}' . - '\\x{1FAC6}-\\x{1FACD}' . - '\\x{1FADC}-\\x{1FADF}' . - '\\x{1FAE9}-\\x{1FAEF}' . + '\\x{1FA8A}-\\x{1FA8E}' . + '\\x{1FAC7}-\\x{1FACD}' . + '\\x{1FADD}-\\x{1FADE}' . + '\\x{1FAEA}-\\x{1FAEF}' . '\\x{1FAF9}-\\x{1FAFF}' . '\\x{1FB93}' . - '\\x{1FBCB}-\\x{1FBEF}' . '\\x{1FBFA}-\\x{1FFFD}' . '\\x{1FFFE}-\\x{1FFFF}' . '\\x{2A6E0}-\\x{2A6FF}' . @@ -7357,11 +7169,6 @@ function idna_regex(): array '\\x{2CEA2}-\\x{2CEAF}' . '\\x{2EBE1}-\\x{2EBEF}' . '\\x{2EE5E}-\\x{2F7FF}' . - '\\x{2F868}' . - '\\x{2F874}' . - '\\x{2F91F}' . - '\\x{2F95F}' . - '\\x{2F9BF}' . '\\x{2FA1E}-\\x{2FFFD}' . '\\x{2FFFE}-\\x{2FFFF}' . '\\x{3134B}-\\x{3134F}' . @@ -7401,14 +7208,20 @@ function idna_regex(): array 'ignored' => '\\x{AD}' . '\\x{34F}' . - '\\x{180B}-\\x{180D}' . + '\\x{115F}-\\x{1160}' . + '\\x{17B4}-\\x{17B5}' . + '\\x{180B}-\\x{180E}' . '\\x{180F}' . '\\x{200B}' . - '\\x{2060}' . + '\\x{2060}-\\x{2063}' . '\\x{2064}' . + '\\x{206A}-\\x{206F}' . + '\\x{3164}' . '\\x{FE00}-\\x{FE0F}' . '\\x{FEFF}' . + '\\x{FFA0}' . '\\x{1BCA0}-\\x{1BCA3}' . + '\\x{1D173}-\\x{1D17A}' . '\\x{E0100}-\\x{E01EF}', 'deviation' => '\\x{DF}' . diff --git a/Sources/Unicode/Metadata.php b/Sources/Unicode/Metadata.php index 30cf1b43df..51d74ea8a1 100644 --- a/Sources/Unicode/Metadata.php +++ b/Sources/Unicode/Metadata.php @@ -20,7 +20,7 @@ } if (!defined('SMF_UNICODE_VERSION')) { - define('SMF_UNICODE_VERSION', '15.1.0.0'); + define('SMF_UNICODE_VERSION', '16.0.0.0'); } ?> \ No newline at end of file diff --git a/Sources/Unicode/QuickCheck.php b/Sources/Unicode/QuickCheck.php index 09dfbc5804..3cb8cabd42 100644 --- a/Sources/Unicode/QuickCheck.php +++ b/Sources/Unicode/QuickCheck.php @@ -144,11 +144,18 @@ function utf8_regex_quick_check(): array '\\x{11127}' . '\\x{1133E}' . '\\x{11357}' . + '\\x{113B8}' . + '\\x{113BB}' . + '\\x{113C2}' . + '\\x{113C5}' . + '\\x{113C7}-\\x{113C9}' . '\\x{114B0}' . '\\x{114BA}' . '\\x{114BD}' . '\\x{115AF}' . - '\\x{11930}', + '\\x{11930}' . + '\\x{1611E}-\\x{16129}' . + '\\x{16D67}-\\x{16D68}', 'NFKC_QC' => '\\x{00A0}' . '\\x{00A8}' . @@ -337,6 +344,7 @@ function utf8_regex_quick_check(): array '\\x{10781}-\\x{10785}' . '\\x{10787}-\\x{107B0}' . '\\x{107B2}-\\x{107BA}' . + '\\x{1CCD6}-\\x{1CCF9}' . '\\x{1D15E}-\\x{1D164}' . '\\x{1D1BB}-\\x{1D1C0}' . '\\x{1D400}-\\x{1D454}' . @@ -442,11 +450,18 @@ function utf8_regex_quick_check(): array '\\x{11127}' . '\\x{1133E}' . '\\x{11357}' . + '\\x{113B8}' . + '\\x{113BB}' . + '\\x{113C2}' . + '\\x{113C5}' . + '\\x{113C7}-\\x{113C9}' . '\\x{114B0}' . '\\x{114BA}' . '\\x{114BD}' . '\\x{115AF}' . - '\\x{11930}', + '\\x{11930}' . + '\\x{1611E}-\\x{16129}' . + '\\x{16D67}-\\x{16D68}', 'NFD_QC' => '\\x{00C0}-\\x{00C5}' . '\\x{00C7}-\\x{00CF}' . @@ -668,15 +683,25 @@ function utf8_regex_quick_check(): array '\\x{FB40}-\\x{FB41}' . '\\x{FB43}-\\x{FB44}' . '\\x{FB46}-\\x{FB4E}' . + '\\x{105C9}' . + '\\x{105E4}' . '\\x{1109A}' . '\\x{1109C}' . '\\x{110AB}' . '\\x{1112E}-\\x{1112F}' . '\\x{1134B}-\\x{1134C}' . + '\\x{11383}' . + '\\x{11385}' . + '\\x{1138E}' . + '\\x{11391}' . + '\\x{113C5}' . + '\\x{113C7}-\\x{113C8}' . '\\x{114BB}-\\x{114BC}' . '\\x{114BE}' . '\\x{115BA}-\\x{115BB}' . '\\x{11938}' . + '\\x{16121}-\\x{16128}' . + '\\x{16D68}-\\x{16D6A}' . '\\x{1D15E}-\\x{1D164}' . '\\x{1D1BB}-\\x{1D1C0}' . '\\x{2F800}-\\x{2FA1D}', @@ -998,6 +1023,8 @@ function utf8_regex_quick_check(): array '\\x{FFDA}-\\x{FFDC}' . '\\x{FFE0}-\\x{FFE6}' . '\\x{FFE8}-\\x{FFEE}' . + '\\x{105C9}' . + '\\x{105E4}' . '\\x{10781}-\\x{10785}' . '\\x{10787}-\\x{107B0}' . '\\x{107B2}-\\x{107BA}' . @@ -1006,10 +1033,19 @@ function utf8_regex_quick_check(): array '\\x{110AB}' . '\\x{1112E}-\\x{1112F}' . '\\x{1134B}-\\x{1134C}' . + '\\x{11383}' . + '\\x{11385}' . + '\\x{1138E}' . + '\\x{11391}' . + '\\x{113C5}' . + '\\x{113C7}-\\x{113C8}' . '\\x{114BB}-\\x{114BC}' . '\\x{114BE}' . '\\x{115BA}-\\x{115BB}' . '\\x{11938}' . + '\\x{16121}-\\x{16128}' . + '\\x{16D68}-\\x{16D6A}' . + '\\x{1CCD6}-\\x{1CCF9}' . '\\x{1D15E}-\\x{1D164}' . '\\x{1D1BB}-\\x{1D1C0}' . '\\x{1D400}-\\x{1D454}' . @@ -1400,7 +1436,7 @@ function utf8_regex_quick_check(): array '\\x{13F8}-\\x{13FD}' . '\\x{17B4}-\\x{17B5}' . '\\x{180B}-\\x{180F}' . - '\\x{1C80}-\\x{1C88}' . + '\\x{1C80}-\\x{1C89}' . '\\x{1C90}-\\x{1CBA}' . '\\x{1CBD}-\\x{1CBF}' . '\\x{1D2C}-\\x{1D2E}' . @@ -1787,9 +1823,12 @@ function utf8_regex_quick_check(): array '\\x{A7C2}' . '\\x{A7C4}-\\x{A7C7}' . '\\x{A7C9}' . + '\\x{A7CB}-\\x{A7CC}' . '\\x{A7D0}' . '\\x{A7D6}' . '\\x{A7D8}' . + '\\x{A7DA}' . + '\\x{A7DC}' . '\\x{A7F2}-\\x{A7F5}' . '\\x{A7F8}-\\x{A7F9}' . '\\x{AB5C}-\\x{AB5F}' . @@ -1844,9 +1883,11 @@ function utf8_regex_quick_check(): array '\\x{10787}-\\x{107B0}' . '\\x{107B2}-\\x{107BA}' . '\\x{10C80}-\\x{10CB2}' . + '\\x{10D50}-\\x{10D65}' . '\\x{118A0}-\\x{118BF}' . '\\x{16E40}-\\x{16E5F}' . '\\x{1BCA0}-\\x{1BCA3}' . + '\\x{1CCD6}-\\x{1CCF9}' . '\\x{1D15E}-\\x{1D164}' . '\\x{1D173}-\\x{1D17A}' . '\\x{1D1BB}-\\x{1D1C0}' . diff --git a/Sources/Unicode/RegularExpressions.php b/Sources/Unicode/RegularExpressions.php index 7018bc99b6..5cc3f5d10e 100644 --- a/Sources/Unicode/RegularExpressions.php +++ b/Sources/Unicode/RegularExpressions.php @@ -259,7 +259,7 @@ function utf8_regex_properties(): array '\\x{1C4D}-\\x{1C4F}' . '\\x{1C5A}-\\x{1C77}' . '\\x{1C78}-\\x{1C7D}' . - '\\x{1C80}-\\x{1C88}' . + '\\x{1C80}-\\x{1C8A}' . '\\x{1C90}-\\x{1CBA}' . '\\x{1CBD}-\\x{1CBF}' . '\\x{1CE9}-\\x{1CEC}' . @@ -365,10 +365,10 @@ function utf8_regex_properties(): array '\\x{A789}-\\x{A78A}' . '\\x{A78B}-\\x{A78E}' . '\\x{A78F}' . - '\\x{A790}-\\x{A7CA}' . + '\\x{A790}-\\x{A7CD}' . '\\x{A7D0}-\\x{A7D1}' . '\\x{A7D3}' . - '\\x{A7D5}-\\x{A7D9}' . + '\\x{A7D5}-\\x{A7DC}' . '\\x{A7F2}-\\x{A7F4}' . '\\x{A7F5}-\\x{A7F6}' . '\\x{A7F7}' . @@ -459,6 +459,7 @@ function utf8_regex_properties(): array '\\x{105A3}-\\x{105B1}' . '\\x{105B3}-\\x{105B9}' . '\\x{105BB}-\\x{105BC}' . + '\\x{105C0}-\\x{105F3}' . '\\x{10600}-\\x{10736}' . '\\x{10740}-\\x{10755}' . '\\x{10760}-\\x{10767}' . @@ -495,8 +496,15 @@ function utf8_regex_properties(): array '\\x{10C80}-\\x{10CB2}' . '\\x{10CC0}-\\x{10CF2}' . '\\x{10D00}-\\x{10D23}' . + '\\x{10D4A}-\\x{10D4D}' . + '\\x{10D4E}' . + '\\x{10D4F}' . + '\\x{10D50}-\\x{10D65}' . + '\\x{10D6F}' . + '\\x{10D70}-\\x{10D85}' . '\\x{10E80}-\\x{10EA9}' . '\\x{10EB0}-\\x{10EB1}' . + '\\x{10EC2}-\\x{10EC4}' . '\\x{10F00}-\\x{10F1C}' . '\\x{10F27}' . '\\x{10F30}-\\x{10F45}' . @@ -535,6 +543,13 @@ function utf8_regex_properties(): array '\\x{1133D}' . '\\x{11350}' . '\\x{1135D}-\\x{11361}' . + '\\x{11380}-\\x{11389}' . + '\\x{1138B}' . + '\\x{1138E}' . + '\\x{11390}-\\x{113B5}' . + '\\x{113B7}' . + '\\x{113D1}' . + '\\x{113D3}' . '\\x{11400}-\\x{11434}' . '\\x{11447}-\\x{1144A}' . '\\x{1145F}-\\x{11461}' . @@ -567,6 +582,7 @@ function utf8_regex_properties(): array '\\x{11A5C}-\\x{11A89}' . '\\x{11A9D}' . '\\x{11AB0}-\\x{11AF8}' . + '\\x{11BC0}-\\x{11BE0}' . '\\x{11C00}-\\x{11C08}' . '\\x{11C0A}-\\x{11C2E}' . '\\x{11C40}' . @@ -590,7 +606,9 @@ function utf8_regex_properties(): array '\\x{12F90}-\\x{12FF0}' . '\\x{13000}-\\x{1342F}' . '\\x{13441}-\\x{13446}' . + '\\x{13460}-\\x{143FA}' . '\\x{14400}-\\x{14646}' . + '\\x{16100}-\\x{1611D}' . '\\x{16800}-\\x{16A38}' . '\\x{16A40}-\\x{16A5E}' . '\\x{16A70}-\\x{16ABE}' . @@ -599,6 +617,9 @@ function utf8_regex_properties(): array '\\x{16B40}-\\x{16B43}' . '\\x{16B63}-\\x{16B77}' . '\\x{16B7D}-\\x{16B8F}' . + '\\x{16D40}-\\x{16D42}' . + '\\x{16D43}-\\x{16D6A}' . + '\\x{16D6B}-\\x{16D6C}' . '\\x{16E40}-\\x{16E7F}' . '\\x{16F00}-\\x{16F4A}' . '\\x{16F50}' . @@ -651,6 +672,8 @@ function utf8_regex_properties(): array '\\x{1E2C0}-\\x{1E2EB}' . '\\x{1E4D0}-\\x{1E4EA}' . '\\x{1E4EB}' . + '\\x{1E5D0}-\\x{1E5ED}' . + '\\x{1E5F0}' . '\\x{1E7E0}-\\x{1E7E6}' . '\\x{1E7E8}-\\x{1E7EB}' . '\\x{1E7ED}-\\x{1E7EE}' . @@ -767,7 +790,7 @@ function utf8_regex_properties(): array '\\x{0859}-\\x{085B}' . '\\x{0888}' . '\\x{0890}-\\x{0891}' . - '\\x{0898}-\\x{089F}' . + '\\x{0897}-\\x{089F}' . '\\x{08C9}' . '\\x{08CA}-\\x{08E1}' . '\\x{08E2}' . @@ -1048,8 +1071,11 @@ function utf8_regex_properties(): array '\\x{10A3F}' . '\\x{10AE5}-\\x{10AE6}' . '\\x{10D24}-\\x{10D27}' . + '\\x{10D4E}' . + '\\x{10D69}-\\x{10D6D}' . + '\\x{10D6F}' . '\\x{10EAB}-\\x{10EAC}' . - '\\x{10EFD}-\\x{10EFF}' . + '\\x{10EFC}-\\x{10EFF}' . '\\x{10F46}-\\x{10F50}' . '\\x{10F82}-\\x{10F85}' . '\\x{11001}' . @@ -1082,6 +1108,11 @@ function utf8_regex_properties(): array '\\x{11340}' . '\\x{11366}-\\x{1136C}' . '\\x{11370}-\\x{11374}' . + '\\x{113BB}-\\x{113C0}' . + '\\x{113CE}' . + '\\x{113D0}' . + '\\x{113D2}' . + '\\x{113E1}-\\x{113E2}' . '\\x{11438}-\\x{1143F}' . '\\x{11442}-\\x{11444}' . '\\x{11446}' . @@ -1101,7 +1132,8 @@ function utf8_regex_properties(): array '\\x{116AD}' . '\\x{116B0}-\\x{116B5}' . '\\x{116B7}' . - '\\x{1171D}-\\x{1171F}' . + '\\x{1171D}' . + '\\x{1171F}' . '\\x{11722}-\\x{11725}' . '\\x{11727}-\\x{1172B}' . '\\x{1182F}-\\x{11837}' . @@ -1140,12 +1172,17 @@ function utf8_regex_properties(): array '\\x{11F36}-\\x{11F3A}' . '\\x{11F40}' . '\\x{11F42}' . + '\\x{11F5A}' . '\\x{13430}-\\x{1343F}' . '\\x{13440}' . '\\x{13447}-\\x{13455}' . + '\\x{1611E}-\\x{16129}' . + '\\x{1612D}-\\x{1612F}' . '\\x{16AF0}-\\x{16AF4}' . '\\x{16B30}-\\x{16B36}' . '\\x{16B40}-\\x{16B43}' . + '\\x{16D40}-\\x{16D42}' . + '\\x{16D6B}-\\x{16D6C}' . '\\x{16F4F}' . '\\x{16F8F}-\\x{16F92}' . '\\x{16F93}-\\x{16F9F}' . @@ -1184,6 +1221,7 @@ function utf8_regex_properties(): array '\\x{1E2EC}-\\x{1E2EF}' . '\\x{1E4EB}' . '\\x{1E4EC}-\\x{1E4EF}' . + '\\x{1E5EE}-\\x{1E5EF}' . '\\x{1E8D0}-\\x{1E8D6}' . '\\x{1E944}-\\x{1E94A}' . '\\x{1E94B}' . @@ -1214,7 +1252,7 @@ function utf8_regex_properties(): array '\\x{085F}' . '\\x{086B}-\\x{086F}' . '\\x{088F}' . - '\\x{0892}-\\x{0897}' . + '\\x{0892}-\\x{0896}' . '\\x{0984}' . '\\x{098D}-\\x{098E}' . '\\x{0991}-\\x{0992}' . @@ -1406,12 +1444,11 @@ function utf8_regex_properties(): array '\\x{1A9A}-\\x{1A9F}' . '\\x{1AAE}-\\x{1AAF}' . '\\x{1ACF}-\\x{1AFF}' . - '\\x{1B4D}-\\x{1B4F}' . - '\\x{1B7F}' . + '\\x{1B4D}' . '\\x{1BF4}-\\x{1BFB}' . '\\x{1C38}-\\x{1C3A}' . '\\x{1C4A}-\\x{1C4C}' . - '\\x{1C89}-\\x{1C8F}' . + '\\x{1C8B}-\\x{1C8F}' . '\\x{1CBB}-\\x{1CBC}' . '\\x{1CC8}-\\x{1CCF}' . '\\x{1CFB}-\\x{1CFF}' . @@ -1438,7 +1475,7 @@ function utf8_regex_properties(): array '\\x{20C1}-\\x{20CF}' . '\\x{20F1}-\\x{20FF}' . '\\x{218C}-\\x{218F}' . - '\\x{2427}-\\x{243F}' . + '\\x{242A}-\\x{243F}' . '\\x{244B}-\\x{245F}' . '\\x{2B74}-\\x{2B75}' . '\\x{2B96}' . @@ -1466,16 +1503,16 @@ function utf8_regex_properties(): array '\\x{3100}-\\x{3104}' . '\\x{3130}' . '\\x{318F}' . - '\\x{31E4}-\\x{31EE}' . + '\\x{31E6}-\\x{31EE}' . '\\x{321F}' . '\\x{A48D}-\\x{A48F}' . '\\x{A4C7}-\\x{A4CF}' . '\\x{A62C}-\\x{A63F}' . '\\x{A6F8}-\\x{A6FF}' . - '\\x{A7CB}-\\x{A7CF}' . + '\\x{A7CE}-\\x{A7CF}' . '\\x{A7D2}' . '\\x{A7D4}' . - '\\x{A7DA}-\\x{A7F1}' . + '\\x{A7DD}-\\x{A7F1}' . '\\x{A82D}-\\x{A82F}' . '\\x{A83A}-\\x{A83F}' . '\\x{A878}-\\x{A87F}' . @@ -1565,7 +1602,8 @@ function utf8_regex_properties(): array '\\x{105A2}' . '\\x{105B2}' . '\\x{105BA}' . - '\\x{105BD}-\\x{105FF}' . + '\\x{105BD}-\\x{105BF}' . + '\\x{105F4}-\\x{105FF}' . '\\x{10737}-\\x{1073F}' . '\\x{10756}-\\x{1075F}' . '\\x{10768}-\\x{1077F}' . @@ -1608,11 +1646,15 @@ function utf8_regex_properties(): array '\\x{10CB3}-\\x{10CBF}' . '\\x{10CF3}-\\x{10CF9}' . '\\x{10D28}-\\x{10D2F}' . - '\\x{10D3A}-\\x{10E5F}' . + '\\x{10D3A}-\\x{10D3F}' . + '\\x{10D66}-\\x{10D68}' . + '\\x{10D86}-\\x{10D8D}' . + '\\x{10D90}-\\x{10E5F}' . '\\x{10E7F}' . '\\x{10EAA}' . '\\x{10EAE}-\\x{10EAF}' . - '\\x{10EB2}-\\x{10EFC}' . + '\\x{10EB2}-\\x{10EC1}' . + '\\x{10EC5}-\\x{10EFB}' . '\\x{10F28}-\\x{10F2F}' . '\\x{10F5A}-\\x{10F6F}' . '\\x{10F8A}-\\x{10FAF}' . @@ -1652,7 +1694,18 @@ function utf8_regex_properties(): array '\\x{11358}-\\x{1135C}' . '\\x{11364}-\\x{11365}' . '\\x{1136D}-\\x{1136F}' . - '\\x{11375}-\\x{113FF}' . + '\\x{11375}-\\x{1137F}' . + '\\x{1138A}' . + '\\x{1138C}-\\x{1138D}' . + '\\x{1138F}' . + '\\x{113B6}' . + '\\x{113C1}' . + '\\x{113C3}-\\x{113C4}' . + '\\x{113C6}' . + '\\x{113CB}' . + '\\x{113D6}' . + '\\x{113D9}-\\x{113E0}' . + '\\x{113E3}-\\x{113FF}' . '\\x{1145C}' . '\\x{11462}-\\x{1147F}' . '\\x{114C8}-\\x{114CF}' . @@ -1663,7 +1716,8 @@ function utf8_regex_properties(): array '\\x{1165A}-\\x{1165F}' . '\\x{1166D}-\\x{1167F}' . '\\x{116BA}-\\x{116BF}' . - '\\x{116CA}-\\x{116FF}' . + '\\x{116CA}-\\x{116CF}' . + '\\x{116E4}-\\x{116FF}' . '\\x{1171B}-\\x{1171C}' . '\\x{1172C}-\\x{1172F}' . '\\x{11747}-\\x{117FF}' . @@ -1683,7 +1737,9 @@ function utf8_regex_properties(): array '\\x{11A48}-\\x{11A4F}' . '\\x{11AA3}-\\x{11AAF}' . '\\x{11AF9}-\\x{11AFF}' . - '\\x{11B0A}-\\x{11BFF}' . + '\\x{11B0A}-\\x{11BBF}' . + '\\x{11BE2}-\\x{11BEF}' . + '\\x{11BFA}-\\x{11BFF}' . '\\x{11C09}' . '\\x{11C37}' . '\\x{11C46}-\\x{11C4F}' . @@ -1707,7 +1763,7 @@ function utf8_regex_properties(): array '\\x{11EF9}-\\x{11EFF}' . '\\x{11F11}' . '\\x{11F3B}-\\x{11F3D}' . - '\\x{11F5A}-\\x{11FAF}' . + '\\x{11F5B}-\\x{11FAF}' . '\\x{11FB1}-\\x{11FBF}' . '\\x{11FF2}-\\x{11FFE}' . '\\x{1239A}-\\x{123FF}' . @@ -1715,8 +1771,10 @@ function utf8_regex_properties(): array '\\x{12475}-\\x{1247F}' . '\\x{12544}-\\x{12F8F}' . '\\x{12FF3}-\\x{12FFF}' . - '\\x{13456}-\\x{143FF}' . - '\\x{14647}-\\x{167FF}' . + '\\x{13456}-\\x{1345F}' . + '\\x{143FB}-\\x{143FF}' . + '\\x{14647}-\\x{160FF}' . + '\\x{1613A}-\\x{167FF}' . '\\x{16A39}-\\x{16A3F}' . '\\x{16A5F}' . '\\x{16A6A}-\\x{16A6D}' . @@ -1728,7 +1786,8 @@ function utf8_regex_properties(): array '\\x{16B5A}' . '\\x{16B62}' . '\\x{16B78}-\\x{16B7C}' . - '\\x{16B90}-\\x{16E3F}' . + '\\x{16B90}-\\x{16D3F}' . + '\\x{16D7A}-\\x{16E3F}' . '\\x{16E9B}-\\x{16EFF}' . '\\x{16F4B}-\\x{16F4E}' . '\\x{16F88}-\\x{16F8E}' . @@ -1736,7 +1795,7 @@ function utf8_regex_properties(): array '\\x{16FE5}-\\x{16FEF}' . '\\x{16FF2}-\\x{16FFF}' . '\\x{187F8}-\\x{187FF}' . - '\\x{18CD6}-\\x{18CFF}' . + '\\x{18CD6}-\\x{18CFE}' . '\\x{18D09}-\\x{1AFEF}' . '\\x{1AFF4}' . '\\x{1AFFC}' . @@ -1751,7 +1810,9 @@ function utf8_regex_properties(): array '\\x{1BC7D}-\\x{1BC7F}' . '\\x{1BC89}-\\x{1BC8F}' . '\\x{1BC9A}-\\x{1BC9B}' . - '\\x{1BCA4}-\\x{1CEFF}' . + '\\x{1BCA4}-\\x{1CBFF}' . + '\\x{1CCFA}-\\x{1CCFF}' . + '\\x{1CEB4}-\\x{1CEFF}' . '\\x{1CF2E}-\\x{1CF2F}' . '\\x{1CF47}-\\x{1CF4F}' . '\\x{1CFC4}-\\x{1CFFF}' . @@ -1802,7 +1863,9 @@ function utf8_regex_properties(): array '\\x{1E2AF}-\\x{1E2BF}' . '\\x{1E2FA}-\\x{1E2FE}' . '\\x{1E300}-\\x{1E4CF}' . - '\\x{1E4FA}-\\x{1E7DF}' . + '\\x{1E4FA}-\\x{1E5CF}' . + '\\x{1E5FB}-\\x{1E5FE}' . + '\\x{1E600}-\\x{1E7DF}' . '\\x{1E7E7}' . '\\x{1E7EC}' . '\\x{1E7EF}' . @@ -1872,18 +1935,17 @@ function utf8_regex_properties(): array '\\x{1F85A}-\\x{1F85F}' . '\\x{1F888}-\\x{1F88F}' . '\\x{1F8AE}-\\x{1F8AF}' . - '\\x{1F8B2}-\\x{1F8FF}' . + '\\x{1F8BC}-\\x{1F8BF}' . + '\\x{1F8C2}-\\x{1F8FF}' . '\\x{1FA54}-\\x{1FA5F}' . '\\x{1FA6E}-\\x{1FA6F}' . '\\x{1FA7D}-\\x{1FA7F}' . - '\\x{1FA89}-\\x{1FA8F}' . - '\\x{1FABE}' . - '\\x{1FAC6}-\\x{1FACD}' . - '\\x{1FADC}-\\x{1FADF}' . - '\\x{1FAE9}-\\x{1FAEF}' . + '\\x{1FA8A}-\\x{1FA8E}' . + '\\x{1FAC7}-\\x{1FACD}' . + '\\x{1FADD}-\\x{1FADE}' . + '\\x{1FAEA}-\\x{1FAEF}' . '\\x{1FAF9}-\\x{1FAFF}' . '\\x{1FB93}' . - '\\x{1FBCB}-\\x{1FBEF}' . '\\x{1FBFA}-\\x{1FFFF}' . '\\x{2A6E0}-\\x{2A6FF}' . '\\x{2B73A}-\\x{2B73F}' . @@ -2314,6 +2376,8 @@ function utf8_regex_properties(): array '\\x{1FA80}-\\x{1FA82}' . '\\x{1FA83}-\\x{1FA86}' . '\\x{1FA87}-\\x{1FA88}' . + '\\x{1FA89}' . + '\\x{1FA8F}' . '\\x{1FA90}-\\x{1FA95}' . '\\x{1FA96}-\\x{1FAA8}' . '\\x{1FAA9}-\\x{1FAAC}' . @@ -2321,15 +2385,20 @@ function utf8_regex_properties(): array '\\x{1FAB0}-\\x{1FAB6}' . '\\x{1FAB7}-\\x{1FABA}' . '\\x{1FABB}-\\x{1FABD}' . + '\\x{1FABE}' . '\\x{1FABF}' . '\\x{1FAC0}-\\x{1FAC2}' . '\\x{1FAC3}-\\x{1FAC5}' . + '\\x{1FAC6}' . '\\x{1FACE}-\\x{1FACF}' . '\\x{1FAD0}-\\x{1FAD6}' . '\\x{1FAD7}-\\x{1FAD9}' . '\\x{1FADA}-\\x{1FADB}' . + '\\x{1FADC}' . + '\\x{1FADF}' . '\\x{1FAE0}-\\x{1FAE7}' . '\\x{1FAE8}' . + '\\x{1FAE9}' . '\\x{1FAF0}-\\x{1FAF6}' . '\\x{1FAF7}-\\x{1FAF8}', 'Emoji_Modifier' => @@ -2360,7 +2429,7 @@ function utf8_regex_properties(): array '\\x{0825}-\\x{0827}' . '\\x{0829}-\\x{082D}' . '\\x{0859}-\\x{085B}' . - '\\x{0898}-\\x{089F}' . + '\\x{0897}-\\x{089F}' . '\\x{08CA}-\\x{08E1}' . '\\x{08E3}-\\x{0902}' . '\\x{0903}' . @@ -2676,8 +2745,9 @@ function utf8_regex_properties(): array '\\x{10A3F}' . '\\x{10AE5}-\\x{10AE6}' . '\\x{10D24}-\\x{10D27}' . + '\\x{10D69}-\\x{10D6D}' . '\\x{10EAB}-\\x{10EAC}' . - '\\x{10EFD}-\\x{10EFF}' . + '\\x{10EFC}-\\x{10EFF}' . '\\x{10F46}-\\x{10F50}' . '\\x{10F82}-\\x{10F85}' . '\\x{11000}' . @@ -2730,6 +2800,17 @@ function utf8_regex_properties(): array '\\x{11362}-\\x{11363}' . '\\x{11366}-\\x{1136C}' . '\\x{11370}-\\x{11374}' . + '\\x{113B8}-\\x{113BA}' . + '\\x{113BB}-\\x{113C0}' . + '\\x{113C2}' . + '\\x{113C5}' . + '\\x{113C7}-\\x{113CA}' . + '\\x{113CC}-\\x{113CD}' . + '\\x{113CE}' . + '\\x{113CF}' . + '\\x{113D0}' . + '\\x{113D2}' . + '\\x{113E1}-\\x{113E2}' . '\\x{11435}-\\x{11437}' . '\\x{11438}-\\x{1143F}' . '\\x{11440}-\\x{11441}' . @@ -2765,7 +2846,9 @@ function utf8_regex_properties(): array '\\x{116B0}-\\x{116B5}' . '\\x{116B6}' . '\\x{116B7}' . - '\\x{1171D}-\\x{1171F}' . + '\\x{1171D}' . + '\\x{1171E}' . + '\\x{1171F}' . '\\x{11720}-\\x{11721}' . '\\x{11722}-\\x{11725}' . '\\x{11726}' . @@ -2832,8 +2915,12 @@ function utf8_regex_properties(): array '\\x{11F40}' . '\\x{11F41}' . '\\x{11F42}' . + '\\x{11F5A}' . '\\x{13440}' . '\\x{13447}-\\x{13455}' . + '\\x{1611E}-\\x{16129}' . + '\\x{1612A}-\\x{1612C}' . + '\\x{1612D}-\\x{1612F}' . '\\x{16AF0}-\\x{16AF4}' . '\\x{16B30}-\\x{16B36}' . '\\x{16F4F}' . @@ -2867,6 +2954,7 @@ function utf8_regex_properties(): array '\\x{1E2AE}' . '\\x{1E2EC}-\\x{1E2EF}' . '\\x{1E4EC}-\\x{1E4EF}' . + '\\x{1E5EE}-\\x{1E5EF}' . '\\x{1E8D0}-\\x{1E8D6}' . '\\x{1E944}-\\x{1E94A}' . '\\x{1F3FB}-\\x{1F3FF}' . @@ -2917,7 +3005,7 @@ function utf8_regex_properties(): array '\\x{16FE4}' . '\\x{17000}-\\x{187F7}' . '\\x{18800}-\\x{18CD5}' . - '\\x{18D00}-\\x{18D08}' . + '\\x{18CFF}-\\x{18D08}' . '\\x{1B170}-\\x{1B2FB}' . '\\x{20000}-\\x{2A6DF}' . '\\x{2A700}-\\x{2B739}' . @@ -2969,8 +3057,6 @@ function utf8_regex_properties(): array '\\x{066C}' . '\\x{07F8}' . '\\x{2044}' . - '\\x{FE10}' . - '\\x{FE14}' . '\\x{FE50}' . '\\x{FE54}' . '\\x{FF0C}' . @@ -3012,6 +3098,7 @@ function utf8_regex_properties(): array '\\x{1810}-\\x{1819}' . '\\x{1946}-\\x{194F}' . '\\x{19D0}-\\x{19D9}' . + '\\x{19DA}' . '\\x{1A80}-\\x{1A89}' . '\\x{1A90}-\\x{1A99}' . '\\x{1B50}-\\x{1B59}' . @@ -3028,6 +3115,7 @@ function utf8_regex_properties(): array '\\x{FF10}-\\x{FF19}' . '\\x{104A0}-\\x{104A9}' . '\\x{10D30}-\\x{10D39}' . + '\\x{10D40}-\\x{10D49}' . '\\x{11066}-\\x{1106F}' . '\\x{110BD}' . '\\x{110CD}' . @@ -3039,20 +3127,26 @@ function utf8_regex_properties(): array '\\x{114D0}-\\x{114D9}' . '\\x{11650}-\\x{11659}' . '\\x{116C0}-\\x{116C9}' . + '\\x{116D0}-\\x{116E3}' . '\\x{11730}-\\x{11739}' . '\\x{118E0}-\\x{118E9}' . '\\x{11950}-\\x{11959}' . + '\\x{11BF0}-\\x{11BF9}' . '\\x{11C50}-\\x{11C59}' . '\\x{11D50}-\\x{11D59}' . '\\x{11DA0}-\\x{11DA9}' . '\\x{11F50}-\\x{11F59}' . + '\\x{16130}-\\x{16139}' . '\\x{16A60}-\\x{16A69}' . '\\x{16AC0}-\\x{16AC9}' . '\\x{16B50}-\\x{16B59}' . + '\\x{16D70}-\\x{16D79}' . + '\\x{1CCF0}-\\x{1CCF9}' . '\\x{1D7CE}-\\x{1D7FF}' . '\\x{1E140}-\\x{1E149}' . '\\x{1E2F0}-\\x{1E2F9}' . '\\x{1E4F0}-\\x{1E4F9}' . + '\\x{1E5F1}-\\x{1E5FA}' . '\\x{1E950}-\\x{1E959}' . '\\x{1FBF0}-\\x{1FBF9}', 'Regional_Indicator' => @@ -3271,6 +3365,8 @@ function utf8_regex_variation_selectors(): array '\\x{1F6E9}' . '\\x{1F6F0}' . '\\x{1F6F3}', + '\\x{FE03}\\x{FE06}' => + '\\x{13338}', '\\x{FE02}' => '\\x{13117}' . '\\x{13139}' . @@ -3297,6 +3393,7 @@ function utf8_regex_variation_selectors(): array '\\x{13385}' . '\\x{133AF}-\\x{133B0}' . '\\x{133BF}' . + '\\x{133DB}' . '\\x{133DD}' . '\\x{13419}' . '\\x{1342C}' . @@ -3327,6 +3424,8 @@ function utf8_regex_variation_selectors(): array '\\x{1D4A9}-\\x{1D4AC}' . '\\x{211B}' . '\\x{1D4AE}-\\x{1D4B5}' . + '\\x{2018}-\\x{2019}' . + '\\x{201C}-\\x{201D}' . '\\x{3001}-\\x{3002}' . '\\x{FF01}' . '\\x{FF0C}' . @@ -3334,7 +3433,8 @@ function utf8_regex_variation_selectors(): array '\\x{FF1A}-\\x{FF1B}' . '\\x{FF1F}' . '\\x{13093}' . - '\\x{130A9}' . + '\\x{13132}' . + '\\x{13139}' . '\\x{13187}' . '\\x{131B1}' . '\\x{131EE}' . @@ -3347,6 +3447,7 @@ function utf8_regex_variation_selectors(): array '\\x{1331B}' . '\\x{13321}-\\x{13322}' . '\\x{13331}' . + '\\x{133E8}' . '\\x{13419}' . '\\x{3B9D}' . '\\x{3EB8}' . @@ -3465,6 +3566,8 @@ function utf8_regex_variation_selectors(): array '\\x{1D4A9}-\\x{1D4AC}' . '\\x{211B}' . '\\x{1D4AE}-\\x{1D4B5}' . + '\\x{2018}-\\x{2019}' . + '\\x{201C}-\\x{201D}' . '\\x{3001}-\\x{3002}' . '\\x{FF01}' . '\\x{FF0C}' . @@ -3495,7 +3598,7 @@ function utf8_regex_variation_selectors(): array '\\x{10AC5}-\\x{10AC6}' . '\\x{10AD6}-\\x{10AD7}' . '\\x{10AE1}' . - '\\x{13091}-\\x{13092}' . + '\\x{13091}' . '\\x{1310F}' . '\\x{1311C}' . '\\x{13121}' . @@ -3505,7 +3608,9 @@ function utf8_regex_variation_selectors(): array '\\x{131B1}' . '\\x{131B8}-\\x{131B9}' . '\\x{131CB}' . + '\\x{131E0}' . '\\x{131F9}-\\x{131FA}' . + '\\x{1327B}' . '\\x{1327F}' . '\\x{13285}' . '\\x{1328C}' . @@ -3516,13 +3621,14 @@ function utf8_regex_variation_selectors(): array '\\x{13307}' . '\\x{1331B}' . '\\x{13322}' . - '\\x{1333B}-\\x{1333C}' . + '\\x{1333C}' . '\\x{13377}-\\x{13378}' . '\\x{13399}-\\x{1339A}' . '\\x{133D3}' . + '\\x{133E5}' . + '\\x{133E7}' . '\\x{133F2}' . '\\x{133F5}-\\x{133F6}' . - '\\x{13403}' . '\\x{13416}' . '\\x{13419}-\\x{1341A}' . '\\x{13423}' . @@ -4476,7 +4582,8 @@ function utf8_regex_joining_type(): array '\\x{08A0}-\\x{08A9}' . '\\x{08AF}-\\x{08B0}' . '\\x{08B3}-\\x{08B8}' . - '\\x{08BA}-\\x{08C8}', + '\\x{08BA}-\\x{08C8}' . + '\\x{10EC3}-\\x{10EC4}', 'Right_Joining' => '\\x{0622}-\\x{0625}' . '\\x{0627}' . @@ -4503,7 +4610,8 @@ function utf8_regex_joining_type(): array '\\x{08AA}-\\x{08AC}' . '\\x{08AE}' . '\\x{08B1}-\\x{08B2}' . - '\\x{08B9}', + '\\x{08B9}' . + '\\x{10EC2}', 'Transparent' => '\\x{0610}-\\x{061A}' . '\\x{061C}' . @@ -4514,11 +4622,27 @@ function utf8_regex_joining_type(): array '\\x{06DF}-\\x{06E4}' . '\\x{06E7}-\\x{06E8}' . '\\x{06EA}-\\x{06ED}' . - '\\x{0898}-\\x{089F}' . + '\\x{0897}-\\x{089F}' . '\\x{08CA}-\\x{08E1}' . '\\x{08E3}-\\x{0902}' . '\\x{102E0}' . - '\\x{10EFD}-\\x{10EFF}', + '\\x{10EFC}-\\x{10EFF}', + ], + 'Mongolian' => [ + 'Join_Causing' => + '\\x{180A}', + 'Dual_Joining' => + '\\x{1807}' . + '\\x{1820}-\\x{1842}' . + '\\x{1843}' . + '\\x{1844}-\\x{1878}' . + '\\x{1887}-\\x{18A8}' . + '\\x{18AA}', + 'Transparent' => + '\\x{180B}-\\x{180D}' . + '\\x{180F}' . + '\\x{1885}-\\x{1886}' . + '\\x{18A9}', ], 'Syriac' => [ 'Join_Causing' => @@ -4552,6 +4676,15 @@ function utf8_regex_joining_type(): array '\\x{0711}' . '\\x{0730}-\\x{074A}', ], + 'Adlam' => [ + 'Join_Causing' => + '\\x{0640}', + 'Dual_Joining' => + '\\x{1E900}-\\x{1E943}', + 'Transparent' => + '\\x{1E944}-\\x{1E94A}' . + '\\x{1E94B}', + ], 'Tirhuta' => [ 'Dual_Joining' => '\\x{A840}-\\x{A871}' . @@ -4563,15 +4696,6 @@ function utf8_regex_joining_type(): array '\\x{114BF}-\\x{114C0}' . '\\x{114C2}-\\x{114C3}', ], - 'Adlam' => [ - 'Join_Causing' => - '\\x{0640}', - 'Dual_Joining' => - '\\x{1E900}-\\x{1E943}', - 'Transparent' => - '\\x{1E944}-\\x{1E94A}' . - '\\x{1E94B}', - ], 'Nko' => [ 'Join_Causing' => '\\x{07FA}', @@ -4581,6 +4705,12 @@ function utf8_regex_joining_type(): array '\\x{07EB}-\\x{07F3}' . '\\x{07FD}', ], + 'Phags_Pa' => [ + 'Dual_Joining' => + '\\x{A840}-\\x{A871}', + 'Left_Joining' => + '\\x{A872}', + ], 'Hanifi_Rohingya' => [ 'Join_Causing' => '\\x{0640}', @@ -4679,28 +4809,6 @@ function utf8_regex_joining_type(): array 'Transparent' => '\\x{10F82}-\\x{10F85}', ], - 'Mongolian' => [ - 'Join_Causing' => - '\\x{180A}', - 'Dual_Joining' => - '\\x{1807}' . - '\\x{1820}-\\x{1842}' . - '\\x{1843}' . - '\\x{1844}-\\x{1878}' . - '\\x{1887}-\\x{18A8}' . - '\\x{18AA}', - 'Transparent' => - '\\x{180B}-\\x{180D}' . - '\\x{180F}' . - '\\x{1885}-\\x{1886}' . - '\\x{18A9}', - ], - 'Phags_Pa' => [ - 'Dual_Joining' => - '\\x{A840}-\\x{A871}', - 'Left_Joining' => - '\\x{A872}', - ], 'Chorasmian' => [ 'Dual_Joining' => '\\x{10FB0}' . @@ -4740,6 +4848,7 @@ function utf8_regex_indic(): array return [ 'Devanagari' => [ 'All' => + '\\x{02BC}' . '\\x{0900}-\\x{0952}' . '\\x{0955}-\\x{0966}' . '\\x{0966}-\\x{096A}' . @@ -4760,6 +4869,7 @@ function utf8_regex_indic(): array '\\x{A8F3}-\\x{A8FF}' . '\\x{11B00}-\\x{11B09}', 'Letter' => + '\\x{02BC}' . '\\x{0904}-\\x{0939}' . '\\x{093D}' . '\\x{0950}' . @@ -4943,6 +5053,7 @@ function utf8_regex_indic(): array ], 'Bengali' => [ 'All' => + '\\x{02BC}' . '\\x{0951}-\\x{0952}' . '\\x{0964}-\\x{0965}' . '\\x{0980}-\\x{0983}' . @@ -4975,6 +5086,7 @@ function utf8_regex_indic(): array '\\x{1CF7}' . '\\x{A8F1}', 'Letter' => + '\\x{02BC}' . '\\x{0980}' . '\\x{0985}-\\x{098C}' . '\\x{098F}-\\x{0990}' . @@ -5162,14 +5274,13 @@ function utf8_regex_indic(): array '\\x{0CDD}-\\x{0CDE}' . '\\x{0CE0}-\\x{0CE3}' . '\\x{0CE6}' . - '\\x{0CE6}-\\x{0CE8}' . - '\\x{0CE8}-\\x{0CEA}' . - '\\x{0CEA}-\\x{0CEC}' . - '\\x{0CEC}-\\x{0CEE}' . - '\\x{0CEE}-\\x{0CEF}' . + '\\x{0CE6}-\\x{0CE9}' . + '\\x{0CE9}-\\x{0CEC}' . + '\\x{0CEC}-\\x{0CEF}' . + '\\x{0CEF}' . '\\x{0CF1}-\\x{0CF3}' . '\\x{1CD0}' . - '\\x{1CD2}' . + '\\x{1CD2}-\\x{1CD3}' . '\\x{1CDA}' . '\\x{1CF2}' . '\\x{1CF4}' . @@ -5540,6 +5651,7 @@ function utf8_regex_indic(): array '\\x{0968}' . '\\x{096C}' . '\\x{0970}' . + '\\x{2E31}' . '\\x{A836}' . '\\x{A838}-\\x{A839}' . '\\x{A839}' . @@ -5563,14 +5675,44 @@ function utf8_regex_indic(): array '\\x{110B7}-\\x{110B8}' . '\\x{110C2}', ], + 'Khojki' => [ + 'All' => + '\\x{0AE7}' . + '\\x{0AE9}' . + '\\x{0AEB}' . + '\\x{0AED}' . + '\\x{0AEF}' . + '\\x{A834}' . + '\\x{A837}-\\x{A83A}' . + '\\x{11200}-\\x{11211}' . + '\\x{11213}-\\x{11241}', + 'Letter' => + '\\x{11200}-\\x{11211}' . + '\\x{11213}-\\x{1122B}' . + '\\x{1123F}-\\x{11240}', + 'Nonspacing_Combining_Mark' => + '\\x{11236}', + 'Nonspacing_Mark' => + '\\x{1122F}-\\x{11231}' . + '\\x{11234}' . + '\\x{11236}-\\x{11237}' . + '\\x{1123E}' . + '\\x{11241}', + 'Virama' => + '\\x{11235}', + 'Vowel_Dependent' => + '\\x{1122C}-\\x{1122E}' . + '\\x{1122F}-\\x{11231}' . + '\\x{11232}-\\x{11233}' . + '\\x{11241}', + ], 'Nandinagari' => [ 'All' => '\\x{0964}-\\x{0965}' . '\\x{0CE7}' . - '\\x{0CE9}' . - '\\x{0CEB}' . + '\\x{0CEA}' . '\\x{0CED}' . - '\\x{0CEF}' . + '\\x{0CF0}' . '\\x{1CE9}' . '\\x{1CF2}' . '\\x{1CFA}' . @@ -5602,37 +5744,6 @@ function utf8_regex_indic(): array '\\x{119DC}-\\x{119DD}' . '\\x{119E4}', ], - 'Khojki' => [ - 'All' => - '\\x{0AE7}' . - '\\x{0AE9}' . - '\\x{0AEB}' . - '\\x{0AED}' . - '\\x{0AEF}' . - '\\x{A834}' . - '\\x{A837}-\\x{A83A}' . - '\\x{11200}-\\x{11211}' . - '\\x{11213}-\\x{11241}', - 'Letter' => - '\\x{11200}-\\x{11211}' . - '\\x{11213}-\\x{1122B}' . - '\\x{1123F}-\\x{11240}', - 'Nonspacing_Combining_Mark' => - '\\x{11236}', - 'Nonspacing_Mark' => - '\\x{1122F}-\\x{11231}' . - '\\x{11234}' . - '\\x{11236}-\\x{11237}' . - '\\x{1123E}' . - '\\x{11241}', - 'Virama' => - '\\x{11235}', - 'Vowel_Dependent' => - '\\x{1122C}-\\x{1122E}' . - '\\x{1122F}-\\x{11231}' . - '\\x{11232}-\\x{11233}' . - '\\x{11241}', - ], 'Takri' => [ 'All' => '\\x{0964}-\\x{0965}' . @@ -5715,7 +5826,7 @@ function utf8_regex_indic(): array 'Balinese' => [ 'All' => '\\x{1B00}-\\x{1B4C}' . - '\\x{1B50}-\\x{1B7E}', + '\\x{1B4E}-\\x{1B7F}', 'Letter' => '\\x{1B05}-\\x{1B33}' . '\\x{1B45}-\\x{1B4C}',