import pickle
pickled_hash = 'twemoji/hash/alpha/step20_type_top10_emojis.pickle'
with open(pickled_hash, 'rb') as f:
hash_dict = pickle.load(f)
rgb = '020240040' # g:020 b:240 r:040 に対応する絵文字を引っ張ってくる。str型。
print(hash_dict[rgb])
以下が得られる。
['w_1f1e8-1f1e8.png',
'w_1f1ff-1f1f2.png',
'w_1f1e7-1f1f7.png',
'w_1f4d7.png',
'w_1f1f8-1f1e6.png',
'w_2705.png',
'w_1f1ef-1f1f2.png',
'w_1f1f8-1f1f9.png',
'w_1f922.png',
'w_1f22f.png']
twemoji: twitterのオープンソース絵文字
notomoji: googleのオープンソース絵文字
それぞれに対応したフォルダの中にstep数(rgbの刻み)の異なるpickleファイルがある。 pickle.loadするとpythonのdict型になり、構造は以下のようになっている。
"""
{
'000000000':["emoji_1230.png","emoji_0453.png", ...],
...
'255255255':["_white.png", "emoji_0453.png", ...]
}
"""
emojineerでは、絵文字にindexを振って、rgb対index → index対emoji
のように参照していたが、今回はrgbから直接絵文字のfile_nameを参照できるように作成。