I'm curious though: why is it necessary to store the emoji characters as :shortnames: in the DB instead of using the corresponding Unicode characters, and then convert them to image tags when rendering them to HTML[1]?
Couldn't the Unicode characters be rendered directly on the HTML and then the emojis shown using a custom font via @font-face? Firefox at least seems to support this using color SVG fonts[2].
I think that would be a better solution, as it would allow copy&pasting text that includes emojis. Doing so in the current Emoji One demo page copies the emojis short names instead of the Unicode symbols. And it may even let the native emojis take precedence over the Emoji One set doing (I think):
body {
/* Use sans-serif before Emoji One to allow rendering native emojis. */
font-family: 'Open Sans', sans-serif, 'Emoji One';
}
[1]: https://github.com/Ranks/emojione#installation
[2]: http://people.mozilla.org/~jkew/opentype-svg/GeckoEmoji.html