File tree 5 files changed +1192
-1126
lines changed
5 files changed +1192
-1126
lines changed Original file line number Diff line number Diff line change @@ -123,6 +123,7 @@ PHP NEWS
123
123
- MBString:
124
124
. Added mb_trim, mb_ltrim and mb_rtrim. (Yuya Hamada)
125
125
. Added mb_ucfirst and mb_lcfirst. (Yuya Hamada)
126
+ . Updated Unicode data tables to Unicode 15.1. (Ayesh Karunaratne)
126
127
127
128
- MySQLnd:
128
129
. Fixed bug GH-13440 (PDO quote bottleneck). (nielsdos)
Original file line number Diff line number Diff line change @@ -684,6 +684,9 @@ PHP 8.4 UPGRADE NOTES
684
684
$domain name is empty or too long, and if $variant is not
685
685
INTL_IDNA_VARIANT_UTS46.
686
686
687
+ - MBString:
688
+ . Unicode data tables have been updated to Unicode 15.1.
689
+
687
690
- OpenSSL:
688
691
. The OpenSSL extension now requires at least OpenSSL 1.1.1.
689
692
Original file line number Diff line number Diff line change @@ -58,14 +58,13 @@ static const struct {
58
58
{ 0x2e80 , 0x2e99 },
59
59
{ 0x2e9b , 0x2ef3 },
60
60
{ 0x2f00 , 0x2fd5 },
61
- { 0x2ff0 , 0x2ffb },
62
- { 0x3000 , 0x303e },
61
+ { 0x2ff0 , 0x303e },
63
62
{ 0x3041 , 0x3096 },
64
63
{ 0x3099 , 0x30ff },
65
64
{ 0x3105 , 0x312f },
66
65
{ 0x3131 , 0x318e },
67
66
{ 0x3190 , 0x31e3 },
68
- { 0x31f0 , 0x321e },
67
+ { 0x31ef , 0x321e },
69
68
{ 0x3220 , 0x3247 },
70
69
{ 0x3250 , 0x4dbf },
71
70
{ 0x4e00 , 0xa48c },
@@ -88,7 +87,9 @@ static const struct {
88
87
{ 0x1aff5 , 0x1affb },
89
88
{ 0x1affd , 0x1affe },
90
89
{ 0x1b000 , 0x1b122 },
90
+ { 0x1b132 , 0x1b132 },
91
91
{ 0x1b150 , 0x1b152 },
92
+ { 0x1b155 , 0x1b155 },
92
93
{ 0x1b164 , 0x1b167 },
93
94
{ 0x1b170 , 0x1b2fb },
94
95
{ 0x1f004 , 0x1f004 },
@@ -122,23 +123,21 @@ static const struct {
122
123
{ 0x1f6cc , 0x1f6cc },
123
124
{ 0x1f6d0 , 0x1f6d2 },
124
125
{ 0x1f6d5 , 0x1f6d7 },
125
- { 0x1f6dd , 0x1f6df },
126
+ { 0x1f6dc , 0x1f6df },
126
127
{ 0x1f6eb , 0x1f6ec },
127
128
{ 0x1f6f4 , 0x1f6fc },
128
129
{ 0x1f7e0 , 0x1f7eb },
129
130
{ 0x1f7f0 , 0x1f7f0 },
130
131
{ 0x1f90c , 0x1f93a },
131
132
{ 0x1f93c , 0x1f945 },
132
133
{ 0x1f947 , 0x1f9ff },
133
- { 0x1fa70 , 0x1fa74 },
134
- { 0x1fa78 , 0x1fa7c },
135
- { 0x1fa80 , 0x1fa86 },
136
- { 0x1fa90 , 0x1faac },
137
- { 0x1fab0 , 0x1faba },
138
- { 0x1fac0 , 0x1fac5 },
139
- { 0x1fad0 , 0x1fad9 },
140
- { 0x1fae0 , 0x1fae7 },
141
- { 0x1faf0 , 0x1faf6 },
134
+ { 0x1fa70 , 0x1fa7c },
135
+ { 0x1fa80 , 0x1fa88 },
136
+ { 0x1fa90 , 0x1fabd },
137
+ { 0x1fabf , 0x1fac5 },
138
+ { 0x1face , 0x1fadb },
139
+ { 0x1fae0 , 0x1fae8 },
140
+ { 0x1faf0 , 0x1faf8 },
142
141
{ 0x20000 , 0x2fffd },
143
142
{ 0x30000 , 0x3fffd },
144
143
};
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ mbstring Unicode Data tests
3
+ --EXTENSIONS--
4
+ mbstring
5
+ --FILE--
6
+ <?php
7
+
8
+ print "ASCII (PHP): " . mb_strwidth ('PHP ' , 'UTF-8 ' ) . "\n" ;
9
+
10
+ print "Vietnamese (Xin chào): " . mb_strwidth ('Xin chào ' , 'UTF-8 ' ) . "\n" ;
11
+
12
+ print "Traditional Chinese (你好): " . mb_strwidth ('你好 ' , 'UTF-8 ' ) . "\n" ;
13
+
14
+ print "Sinhalese (අයේෂ්): " . mb_strwidth ('අයේෂ් ' , 'UTF-8 ' ) . "\n" ;
15
+
16
+ print "Emoji ( \u{1F418}): " . mb_strwidth ("\u{1F418}" , 'UTF-8 ' ) . "\n" ;
17
+
18
+ // New in Unicode 15.0, width=2
19
+ print "Emoji ( \u{1F6DC}): " . mb_strwidth ("\u{1F6DC}" , 'UTF-8 ' ) . "\n" ;
20
+
21
+ ?>
22
+ --EXPECT--
23
+ ASCII (PHP): 3
24
+ Vietnamese (Xin chào): 8
25
+ Traditional Chinese (你好): 4
26
+ Sinhalese (අයේෂ්): 5
27
+ Emoji (🐘): 2
28
+ Emoji (🛜): 2
You can’t perform that action at this time.
0 commit comments