modernizr
Version:
Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.
42 lines (36 loc) • 1.39 kB
JavaScript
/*!
{
"name": "Unicode characters",
"property": "unicode",
"tags": ["encoding"],
"warnings": [
"** DEPRECATED see https://github.com/Modernizr/Modernizr/issues/2468 **",
"positive Unicode support doesn't mean you can use it inside <title>, this seems more related to OS & Language packs"
]
}
!*/
/* DOC
Detects if unicode characters are supported in the current document.
*/
define(['Modernizr', 'createElement', 'testStyles', 'isSVG'], function(Modernizr, createElement, testStyles, isSVG) {
/**
* Unicode special character support
*
* Detection is made by testing missing glyph box rendering against star character
* If widths are the same, this "probably" means the browser didn't support the star character and rendered a glyph box instead
* Just need to ensure the font characters have different widths
*/
Modernizr.addTest('unicode', function() {
var bool;
var missingGlyph = createElement('span');
var star = createElement('span');
testStyles('#modernizr{font-family:Arial,sans;font-size:300em;}', function(node) {
missingGlyph.innerHTML = isSVG ? '\u5987' : 'ᝣ';
star.innerHTML = isSVG ? '\u2606' : '☆';
node.appendChild(missingGlyph);
node.appendChild(star);
bool = 'offsetWidth' in missingGlyph && missingGlyph.offsetWidth !== star.offsetWidth;
});
return bool;
});
});