1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

ext/mbstring: Update to Unicode 17.0 (#19796)

Updates UCD to Unicode 17.0 (released 2025 Sep).
This commit is contained in:
tekimen
2025-09-13 08:07:51 +09:00
committed by GitHub
parent e6c6333c8e
commit edc2671227
5 changed files with 4214 additions and 4116 deletions

3
NEWS
View File

@@ -20,6 +20,9 @@ PHP NEWS
. Fixed bug GH-19669 (assertion failure in zend_jit_trace_type_to_info_ex).
(Arnaud)
- MBstring:
. Updated Unicode data tables to Unicode 17.0. (Yuya Hamada)
- URI:
. Fixed bug GH-19780 (InvalidUrlException should check $errors argument).
(nielsdos)

View File

@@ -84,6 +84,9 @@ PHP 8.5 UPGRADE NOTES
. ldap_get_option() and ldap_set_option() now throw a ValueError when
passing an invalid option.
- MBstring:
. Unicode data tables have been updated to Unicode 17.0
- MySQLi:
. Calling the mysqli constructor on an already-constructed object
is now no longer possible and throws an Error.

View File

@@ -80,10 +80,10 @@ static const struct {
{ 0xff01, 0xff60 },
{ 0xffe0, 0xffe6 },
{ 0x16fe0, 0x16fe4 },
{ 0x16ff0, 0x16ff1 },
{ 0x17000, 0x187f7 },
{ 0x18800, 0x18cd5 },
{ 0x18cff, 0x18d08 },
{ 0x16ff0, 0x16ff6 },
{ 0x17000, 0x18cd5 },
{ 0x18cff, 0x18d1e },
{ 0x18d80, 0x18df2 },
{ 0x1aff0, 0x1aff3 },
{ 0x1aff5, 0x1affb },
{ 0x1affd, 0x1affe },
@@ -125,7 +125,7 @@ static const struct {
{ 0x1f680, 0x1f6c5 },
{ 0x1f6cc, 0x1f6cc },
{ 0x1f6d0, 0x1f6d2 },
{ 0x1f6d5, 0x1f6d7 },
{ 0x1f6d5, 0x1f6d8 },
{ 0x1f6dc, 0x1f6df },
{ 0x1f6eb, 0x1f6ec },
{ 0x1f6f4, 0x1f6fc },
@@ -135,11 +135,12 @@ static const struct {
{ 0x1f93c, 0x1f945 },
{ 0x1f947, 0x1f9ff },
{ 0x1fa70, 0x1fa7c },
{ 0x1fa80, 0x1fa89 },
{ 0x1fa8f, 0x1fac6 },
{ 0x1face, 0x1fadc },
{ 0x1fadf, 0x1fae9 },
{ 0x1faf0, 0x1faf8 },
{ 0x1fa80, 0x1fa8a },
{ 0x1fa8e, 0x1fac6 },
{ 0x1fac8, 0x1fac8 },
{ 0x1facd, 0x1fadc },
{ 0x1fadf, 0x1faea },
{ 0x1faef, 0x1faf8 },
{ 0x20000, 0x2fffd },
{ 0x30000, 0x3fffd },
};

View File

@@ -23,6 +23,9 @@ print "Emoji (\u{1F6DC}): " . mb_strwidth("\u{1F6DC}", 'UTF-8') . "\n";
// Changed in Unicode 16.0, U+2630...U+2637 are wide
print "Emoji (\u{2630}): " . mb_strwidth("\u{2630}", 'UTF-8') . "\n";
// New in Unicode 17.0, width=2
print "Emoji (\u{1FAEA}): " . mb_strwidth("\u{1FAEA}", "UTF-8") . "\n";
echo "Char case changes:\n";
print "Upper(\u{019b}) = \u{a7dc} : ";
@@ -37,5 +40,6 @@ Sinhalese (අයේෂ්): 5
Emoji (🐘): 2
Emoji (🛜): 2
Emoji (☰): 2
Emoji (🫪): 2
Char case changes:
Upper(ƛ) = Ƛ : bool(true)

File diff suppressed because it is too large Load Diff