#!/usr/bin/env python3 # Mostly derived from https://github.com/mrowa44/emojify Copyright (c) 2015 Justyna Rachowicz from urllib.request import urlopen import json EMOJI_JSON_URL = 'https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json' def print_emoji(emoji_json): for alias in emoji_json['aliases']: print(' {{":{0}:", "{1}"}}, // {2}'.format(alias, ''.join('\\x{:02x}'.format(b) for b in emoji_json['emoji'].encode('utf8')), emoji_json['emoji'])) print( """#ifndef EMOJIS_H__ #define EMOJIS_H__ typedef struct emoji_s { const char *alias; const char *emoji; } emoji_t; // emoji_t array are expected to be NULL terminated static emoji_t EmojiTable[] = {""") with urlopen(EMOJI_JSON_URL) as conn: emojis_json = json.loads(conn.read().decode('utf-8')) for emoji_json in emojis_json: print_emoji(emoji_json) print(""" {NULL, NULL} }; #endif""")