Skip to content

Commit 68ea410

Browse files
committed
Emoji: Update Twemoji to version 17.0.1.
Unicode 17 includes 7 new Emoji code points. All 7 were included in Emoji 17, which was officially released in early September 2025. In addition to these 7 new single code point Emoji, Emoji 17 also includes 156 additional Emoji possibilities using modifiers or ZWJ sequences to create various gender and skin tone combinations. “This Emoji update is the best to date by a landslide 🛘“ may not be an opinion you hold. Perhaps you’re disappointed, hearing sad trombones in your head 🪊🪊. Thankfully, there’s a whole treasure chest 🪎 of Emoji to choose from (3,953 and counting). 🫈 But why do I always feel like I'm in The Twilight Zone? And I always feel like somebody's watchin' me? 🫈 Props westonruter, dd32. Fixes #64184. git-svn-id: https://develop.svn.wordpress.org/trunk@61134 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 82978ec commit 68ea410

File tree

5 files changed

+26
-32
lines changed

5 files changed

+26
-32
lines changed

Gruntfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ module.exports = function(grunt) {
11591159
}
11601160

11611161
// Fetch a list of the files that Twemoji supplies.
1162-
query = 'query={repository(owner: "jdecked", name: "twemoji") {object(expression: "v16.0.1:assets/svg") {... on Tree {entries {name}}}}}';
1162+
query = 'query={repository(owner: "jdecked", name: "twemoji") {object(expression: "v17.0.1:assets/svg") {... on Tree {entries {name}}}}}';
11631163
files = spawn( 'gh', [ 'api', 'graphql', '-f', query] );
11641164

11651165
if ( 0 !== files.status ) {

src/js/_enqueues/lib/emoji-loader.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -271,20 +271,20 @@ function browserSupportsEmoji( context, type, emojiSetsRenderIdentically, emojiR
271271
return ! isIdentical;
272272
case 'emoji':
273273
/*
274-
* Does Emoji 16.0 cause the browser to go splat?
274+
* Is there a large, hairy, humanoid mythical creature living in the browser?
275275
*
276-
* To test for Emoji 16.0 support, try to render a new emoji: Splatter.
276+
* To test for Emoji 17.0 support, try to render a new emoji: Hairy Creature.
277277
*
278-
* The splatter emoji is a single code point emoji. Testing for browser support
279-
* required testing the center point of the emoji to see if it is empty.
278+
* The hairy creature emoji is a single code point emoji. Testing for browser
279+
* support required testing the center point of the emoji to see if it is empty.
280280
*
281-
* 0xD83E 0xDEDF (\uD83E\uDEDF) == 🫟 Splatter.
281+
* 0xD83E 0x1FAC8 (\uD83E\u1FAC8) == 🫈 Hairy creature.
282282
*
283283
* When updating this test, please ensure that the emoji is either a single code point
284284
* or switch to using the emojiSetsRenderIdentically function and testing with a zero-width
285285
* joiner vs a zero-width space.
286286
*/
287-
const notSupported = emojiRendersEmptyCenterPoint( context, '\uD83E\uDEDF' );
287+
const notSupported = emojiRendersEmptyCenterPoint( context, '\uD83E\u1FAC8' );
288288
return ! notSupported;
289289
}
290290

src/js/_enqueues/vendor/twemoji.js

Lines changed: 2 additions & 18 deletions
Large diffs are not rendered by default.

src/wp-includes/formatting.php

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.

tests/phpunit/tests/formatting/emoji.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
*/
77
class Tests_Formatting_Emoji extends WP_UnitTestCase {
88

9-
private $png_cdn = 'https://s.w.org/images/core/emoji/16.0.1/72x72/';
10-
private $svg_cdn = 'https://s.w.org/images/core/emoji/16.0.1/svg/';
9+
private $png_cdn = 'https://s.w.org/images/core/emoji/17.0.1-1/72x72/';
10+
private $svg_cdn = 'https://s.w.org/images/core/emoji/17.0.1-1/svg/';
1111

1212
/**
1313
* @ticket 63842
@@ -157,6 +157,11 @@ public function data_wp_encode_emoji() {
157157
'🧚',
158158
'🧚',
159159
),
160+
array(
161+
// Hairy creature (Unicode 17).
162+
'🫈',
163+
'🫈',
164+
),
160165
);
161166
}
162167

@@ -192,6 +197,11 @@ public function data_wp_staticize_emoji() {
192197
'🧚',
193198
'<img src="' . $this->png_cdn . '1f9da.png" alt="🧚" class="wp-smiley" style="height: 1em; max-height: 1em;" />',
194199
),
200+
array(
201+
// Hairy creature (Unicode 17).
202+
'🫈',
203+
'<img src="' . $this->png_cdn . '1fac8.png" alt="🫈" class="wp-smiley" style="height: 1em; max-height: 1em;" />',
204+
),
195205
);
196206

197207
return $data;

0 commit comments

Comments
 (0)