emoji.js 682 B

12345678910111213141516171819202122232425
  1. /*!
  2. {
  3. "name": "Emoji",
  4. "property": "emoji"
  5. }
  6. !*/
  7. /* DOC
  8. Detects support for emoji character sets.
  9. */
  10. define(['Modernizr', 'createElement', 'test/canvastext'], function(Modernizr, createElement) {
  11. Modernizr.addTest('emoji', function() {
  12. if (!Modernizr.canvastext) {
  13. return false;
  14. }
  15. var pixelRatio = window.devicePixelRatio || 1;
  16. var offset = 12 * pixelRatio;
  17. var node = createElement('canvas');
  18. var ctx = node.getContext('2d');
  19. ctx.fillStyle = '#f00';
  20. ctx.textBaseline = 'top';
  21. ctx.font = '32px Arial';
  22. ctx.fillText('\ud83d\udc28', 0, 0); // U+1F428 KOALA
  23. return ctx.getImageData(offset, offset, 1, 1).data[0] !== 0;
  24. });
  25. });