| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*!
- {
- "name": "Unicode characters",
- "property": "unicode",
- "tags": ["encoding"],
- "warnings": [
- "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;
- });
- });
|