Emoji Polyfill

This makes the browser support emoji by using native fonts if possible and a fallback if not.

Author
James Edward Lewis II
Daily installs
0
Total installs
371
Ratings
4 0 0
Version
1.0.28
Created
2015-03-15
Updated
2016-07-18
License
MIT
Applies to
All sites

As the URL to the source code makes clear, this is ultimately derived from the Chromoji extension for Google Chrome, although it is now very different: https://github.com/lewisje/Chromoji/tree/userscript

In case you would prefer to install the extension, it is now on the Chrome Web Store: https://chrome.google.com/webstore/detail/emoji-polyfill/kaplhmhahkanhjahbdbaamdaililfmkj

In case you would prefer a bookmarklet, here it is: javascript:(function(d){'use strict';var ss=['//greasyfork.org/scripts/8598-emoji-polyfill/code/Emoji Polyfill.user.js'],body=d.body||d.getElementsByTagName('body')[0]||d.getElementsByTagName('frameset')[0],s,i;for(i=ss.length;i--;){s=d.createElement('script');s.src=ss[i];d.body.appendChild(s);}})(document);

After experimenting with stripping out the functionality of Chromoji to solely support textual emoji, I discovered that I needed none of the power of a Chrome extension to do it, and I ended up stripping out almost all of the code; after that, to make it into a UserScript, I only needed to inject the tiny stylesheet included with the extension, and also pack in a few polyfills for browsers other than Chrome.

I ended up hosting the fonts and linking to them externally, so that I could potentially support IE8 (which does not support data: URIs in webfonts) and Opera 9 (which only supports SVG webfonts, which were all too big for data: URIs, even after subsetting).