UNPKG

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
/*! { "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' : '&#5987;'; star.innerHTML = isSVG ? '\u2606' : '&#9734;'; node.appendChild(missingGlyph); node.appendChild(star); bool = 'offsetWidth' in missingGlyph && missingGlyph.offsetWidth !== star.offsetWidth; }); return bool; }); });