Heroku buildpack that add native support for emojis on a Heroku-18 stack. This buildpack can be forked to install various fonts as well, just by adding them in a fonts
folder and update fonts.tar.gz
with command
tar -czvf fonts.tar.gz fonts
You just need to add this buildpack to the app's buildpack list, prior any buildpack.
It seems that the Ubuntu distribution used by the Heroku-18 stack comes without any fonts installed besides DejaVu
, that supports a limited fraction of emojis. What this buildpack simply does is adding custom fonts in the ~/.fonts
folder and refresh the font cache.
The custom fonts included in this Buildpack are NotoEmoji-Regular.ttf
and NotoColorEmoji.ttf
, as Ubuntu 18.04 LTS supports natively the Noto Color Emoji font.
As said earlier, DejaVu
comes with a limited range of black and white emojis, that takes precedence to NotoColorEmoji
. The buildpack adds a fontconfig to limit this precedence (for instance, the 🍪emoji), but most of them are overrided.
The provided fontconfig comes from this repo https://github.com/stove-panini/fontconfig-emoji. More informations can be found there. The one that is applied is in the fontconfig
folder, the others are in the extra-fontconfig
one.
You can easly add more fontconfigs by adding them in the folder fontconfig
.
This issue is largely discussed over the net, but without a real and clean solution :
- https://bugs.webkit.org/show_bug.cgi?id=191976#c1
- https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/136
- https://www.reddit.com/r/archlinux/comments/9ouk2o/how_to_priorize_emojione_noto_emoji_over/
The "best" way would be to apply 70-no-dejavu.conf
and replace DejaVu
with Bitstream Vera
, but it could lead to other unwanted side effects, so... Kinda stuck here.