Skip to content

Commit 63e77ad

Browse files
committed
ext/mbstring: Update to Unicode 17.0
1 parent 49fdf49 commit 63e77ad

File tree

5 files changed

+4214
-4116
lines changed

5 files changed

+4214
-4116
lines changed

NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ PHP NEWS
77
checks). (timwolla)
88
. The __sleep() and __wakeup() magic methods have been deprecated. (Girgias)
99

10+
- MBstring:
11+
. Updated Unicode data tables to Unicode 17.0. (Yuya Hamada)
12+
1013
- URI:
1114
. Fixed bug GH-19780 (InvalidUrlException should check $errors argument).
1215
(nielsdos)

UPGRADING

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ PHP 8.5 UPGRADE NOTES
8484
. ldap_get_option() and ldap_set_option() now throw a ValueError when
8585
passing an invalid option.
8686

87+
- MBstring:
88+
. Unicode data tables have been updated to Unicode 17.0
89+
8790
- MySQLi:
8891
. Calling the mysqli constructor on an already-constructed object
8992
is now no longer possible and throws an Error.

ext/mbstring/libmbfl/mbfl/eaw_table.h

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ static const struct {
8080
{ 0xff01, 0xff60 },
8181
{ 0xffe0, 0xffe6 },
8282
{ 0x16fe0, 0x16fe4 },
83-
{ 0x16ff0, 0x16ff1 },
84-
{ 0x17000, 0x187f7 },
85-
{ 0x18800, 0x18cd5 },
86-
{ 0x18cff, 0x18d08 },
83+
{ 0x16ff0, 0x16ff6 },
84+
{ 0x17000, 0x18cd5 },
85+
{ 0x18cff, 0x18d1e },
86+
{ 0x18d80, 0x18df2 },
8787
{ 0x1aff0, 0x1aff3 },
8888
{ 0x1aff5, 0x1affb },
8989
{ 0x1affd, 0x1affe },
@@ -125,7 +125,7 @@ static const struct {
125125
{ 0x1f680, 0x1f6c5 },
126126
{ 0x1f6cc, 0x1f6cc },
127127
{ 0x1f6d0, 0x1f6d2 },
128-
{ 0x1f6d5, 0x1f6d7 },
128+
{ 0x1f6d5, 0x1f6d8 },
129129
{ 0x1f6dc, 0x1f6df },
130130
{ 0x1f6eb, 0x1f6ec },
131131
{ 0x1f6f4, 0x1f6fc },
@@ -135,11 +135,12 @@ static const struct {
135135
{ 0x1f93c, 0x1f945 },
136136
{ 0x1f947, 0x1f9ff },
137137
{ 0x1fa70, 0x1fa7c },
138-
{ 0x1fa80, 0x1fa89 },
139-
{ 0x1fa8f, 0x1fac6 },
140-
{ 0x1face, 0x1fadc },
141-
{ 0x1fadf, 0x1fae9 },
142-
{ 0x1faf0, 0x1faf8 },
138+
{ 0x1fa80, 0x1fa8a },
139+
{ 0x1fa8e, 0x1fac6 },
140+
{ 0x1fac8, 0x1fac8 },
141+
{ 0x1facd, 0x1fadc },
142+
{ 0x1fadf, 0x1faea },
143+
{ 0x1faef, 0x1faf8 },
143144
{ 0x20000, 0x2fffd },
144145
{ 0x30000, 0x3fffd },
145146
};

ext/mbstring/tests/unicode_versions.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ print "Emoji (\u{1F6DC}): " . mb_strwidth("\u{1F6DC}", 'UTF-8') . "\n";
2323
// Changed in Unicode 16.0, U+2630...U+2637 are wide
2424
print "Emoji (\u{2630}): " . mb_strwidth("\u{2630}", 'UTF-8') . "\n";
2525

26+
// New in Unicode 17.0, width=2
27+
print "Emoji (\u{1FAEA}): " . mb_strwidth("\u{1FAEA}", "UTF-8") . "\n";
28+
2629
echo "Char case changes:\n";
2730

2831
print "Upper(\u{019b}) = \u{a7dc} : ";
@@ -37,5 +40,6 @@ Sinhalese (අයේෂ්): 5
3740
Emoji (🐘): 2
3841
Emoji (🛜): 2
3942
Emoji (☰): 2
43+
Emoji (🫪): 2
4044
Char case changes:
4145
Upper(ƛ) = Ƛ : bool(true)

0 commit comments

Comments
 (0)