Emoji: Add Emoji 5 support.
Updates Twemoji to 2.3.0 to include Emoji 5 support. The pride flag test is replaced with a test for the English flag, a five character sub-devision locale. The UN flag test is retained as the most recent two character locale. An Emoji 5 "bearded person" replaces both Emoji 4 tests. Fixes #40858. git-svn-id: https://develop.svn.wordpress.org/trunk@40837 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
5439e18798
commit
e0013072d1
|
@ -5012,7 +5012,7 @@ function _print_emoji_detection_script() {
|
|||
*
|
||||
* @param string The emoji base URL for png images.
|
||||
*/
|
||||
'baseUrl' => apply_filters( 'emoji_url', 'https://s.w.org/images/core/emoji/2.2.5/72x72/' ),
|
||||
'baseUrl' => apply_filters( 'emoji_url', 'https://s.w.org/images/core/emoji/2.3/72x72/' ),
|
||||
|
||||
/**
|
||||
* Filters the extension of the emoji png files.
|
||||
|
@ -5030,7 +5030,7 @@ function _print_emoji_detection_script() {
|
|||
*
|
||||
* @param string The emoji base URL for svg images.
|
||||
*/
|
||||
'svgUrl' => apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.2.5/svg/' ),
|
||||
'svgUrl' => apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.3/svg/' ),
|
||||
|
||||
/**
|
||||
* Filters the extension of the emoji SVG files.
|
||||
|
@ -5142,7 +5142,7 @@ function wp_staticize_emoji( $text ) {
|
|||
$text = wp_encode_emoji( $text );
|
||||
|
||||
/** This filter is documented in wp-includes/formatting.php */
|
||||
$cdn_url = apply_filters( 'emoji_url', 'https://s.w.org/images/core/emoji/2.2.5/72x72/' );
|
||||
$cdn_url = apply_filters( 'emoji_url', 'https://s.w.org/images/core/emoji/2.3/72x72/' );
|
||||
|
||||
/** This filter is documented in wp-includes/formatting.php */
|
||||
$ext = apply_filters( 'emoji_ext', '.png' );
|
||||
|
|
|
@ -2860,7 +2860,7 @@ function wp_resource_hints() {
|
|||
* The path is removed in the foreach loop below.
|
||||
*/
|
||||
/** This filter is documented in wp-includes/formatting.php */
|
||||
$hints['dns-prefetch'][] = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.2.5/svg/' );
|
||||
$hints['dns-prefetch'][] = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2.3/svg/' );
|
||||
|
||||
foreach ( $hints as $relation_type => $urls ) {
|
||||
$unique_urls = array();
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -59,62 +59,38 @@
|
|||
}
|
||||
|
||||
/*
|
||||
* Test for rainbow flag compatibility. As the rainbow flag was added out of sequence with
|
||||
* the usual Unicode release cycle, some browsers support it, and some don't, even if their
|
||||
* Unicode support is up to date.
|
||||
* Test for English flag compatibility. England is a country in the United Kingdom, it
|
||||
* does not have a two letter locale code but rather an five letter sub-division code.
|
||||
*
|
||||
* To test for support, we try to render it, and compare the rendering to how it would look if
|
||||
* the browser doesn't render it correctly (white flag emoji + rainbow emoji).
|
||||
* the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]).
|
||||
*/
|
||||
// Cleanup from previous test.
|
||||
context.clearRect( 0, 0, canvas.width, canvas.height );
|
||||
|
||||
context.fillText( stringFromCharCode( 55356, 57331, 65039, 8205, 55356, 57096 ), 0, 0 );
|
||||
context.fillText( stringFromCharCode( 55356, 57332, 56128, 56423, 56128, 56418, 56128, 56421, 56128, 56430, 56128, 56423, 56128, 56447 ), 0, 0 );
|
||||
flag = canvas.toDataURL();
|
||||
|
||||
context.clearRect( 0, 0, canvas.width, canvas.height );
|
||||
|
||||
context.fillText( stringFromCharCode( 55356, 57331, 55356, 57096 ), 0, 0 );
|
||||
context.fillText( stringFromCharCode( 55356, 57332, 8203, 56128, 56423, 8203, 56128, 56418, 8203, 56128, 56421, 8203, 56128, 56430, 8203, 56128, 56423, 8203, 56128, 56447 ), 0, 0 );
|
||||
flag2 = canvas.toDataURL();
|
||||
|
||||
return flag !== flag2;
|
||||
case 'emoji4':
|
||||
/*
|
||||
* Emoji 4 support was implemented gradually, multiple tests are used to
|
||||
* confirm support.
|
||||
* Emoji 5 has the bushiest beards. So does WordPress!
|
||||
*
|
||||
* In this test we try rendering man shrugging, light skin tone and compare
|
||||
* it to how it would look if the browser does not render it correctly
|
||||
* (person shrugging: light skin town + male sign).
|
||||
*/
|
||||
context.fillText( stringFromCharCode( 55358, 56631, 55356, 57339, 8205, 9794, 65039 ), 0, 0 );
|
||||
emoji41 = canvas.toDataURL();
|
||||
|
||||
context.clearRect( 0, 0, canvas.width, canvas.height );
|
||||
|
||||
context.fillText( stringFromCharCode( 55358, 56631, 55356, 57339, 9794, 65039 ), 0, 0 );
|
||||
emoji42 = canvas.toDataURL();
|
||||
|
||||
if ( emoji41 !== emoji42 ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Emoji 4 has the best technologists. So does WordPress!
|
||||
*
|
||||
* To test for support, try to render a new emoji (woman technologist: medium skin tone),
|
||||
* To test for support, try to render a new emoji (bearded person: light skin tone),
|
||||
* then compare it to how it would look if the browser doesn't render it correctly
|
||||
* (woman technologist: medium skin tone + personal computer).
|
||||
* (bearded person + Fitzpatrick modifier).
|
||||
*/
|
||||
// Cleanup from previous test.
|
||||
context.clearRect( 0, 0, canvas.width, canvas.height );
|
||||
|
||||
context.fillText( stringFromCharCode( 55357, 56425, 55356, 57341, 8205, 55357, 56507), 0, 0 );
|
||||
context.fillText( stringFromCharCode( 55358, 56788, 55356, 57339 ), 0, 0 );
|
||||
emoji41 = canvas.toDataURL();
|
||||
|
||||
context.clearRect( 0, 0, canvas.width, canvas.height );
|
||||
|
||||
context.fillText( stringFromCharCode( 55357, 56425, 55356, 57341, 55357, 56507), 0, 0 );
|
||||
context.fillText( stringFromCharCode( 55358, 56788, 8203, 55356, 57339 ), 0, 0 );
|
||||
emoji42 = canvas.toDataURL();
|
||||
|
||||
return emoji41 !== emoji42;
|
||||
|
|
|
@ -8,8 +8,8 @@ class Tests_Formatting_Emoji extends WP_UnitTestCase {
|
|||
* @ticket 36525
|
||||
*/
|
||||
public function test_unfiltered_emoji_cdns() {
|
||||
$png_cdn = 'https://s.w.org/images/core/emoji/2.2.5/72x72/';
|
||||
$svn_cdn = 'https://s.w.org/images/core/emoji/2.2.5/svg/';
|
||||
$png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/';
|
||||
$svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/';
|
||||
|
||||
$output = get_echo( '_print_emoji_detection_script' );
|
||||
|
||||
|
@ -25,8 +25,8 @@ class Tests_Formatting_Emoji extends WP_UnitTestCase {
|
|||
* @ticket 36525
|
||||
*/
|
||||
public function test_filtered_emoji_svn_cdn() {
|
||||
$png_cdn = 'https://s.w.org/images/core/emoji/2.2.5/72x72/';
|
||||
$svn_cdn = 'https://s.w.org/images/core/emoji/2.2.5/svg/';
|
||||
$png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/';
|
||||
$svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/';
|
||||
|
||||
$filtered_svn_cdn = $this->_filtered_emoji_svn_cdn();
|
||||
|
||||
|
@ -49,8 +49,8 @@ class Tests_Formatting_Emoji extends WP_UnitTestCase {
|
|||
* @ticket 36525
|
||||
*/
|
||||
public function test_filtered_emoji_png_cdn() {
|
||||
$png_cdn = 'https://s.w.org/images/core/emoji/2.2.5/72x72/';
|
||||
$svn_cdn = 'https://s.w.org/images/core/emoji/2.2.5/svg/';
|
||||
$png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/';
|
||||
$svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/';
|
||||
|
||||
$filtered_png_cdn = $this->_filtered_emoji_png_cdn();
|
||||
|
||||
|
|
Loading…
Reference in New Issue