Telegram emoji list with codes and descriptions

After almost 2 years of using Telegram, I finally discovered that it is possible to enter emoji using its name after “:” character. Unfortunately I couldn’t find any complete list of available emojis anywhere, so I had to dig deep into the Telegram desktop source code to generate it.

It was far more complicated than I hoped. I expected it would take 30 minutes but instead, it took me almost whole day!

Telegram emoji is based on Apple Color Emoji font embedded in iOS and Mac OS X which Apple allows to use outside Apple platforms. This ttf/ttc font is quite big (~50MB) so Telegram developers decided not to use the font directly but generate an image atlas in webp format instead. This generation is part of their “codegen” step and I had to compile the “codegen_emoji” generator which is based on Qt5. It took some time to understand the code and find a place to put logging there.