Open Crissov opened 6 years ago
Some sources for shortnames:
{
"emoji": "π"
, "description": "grinning face"
, "category": "People"
, "aliases": [
"grinning"
]
, "tags": [
"smile"
, "happy"
]
, "unicode_version": "6.1"
, "ios_version": "6.0"
}
{
"name": "GRINNING FACE",
"unified": "1F600",
"non_qualified": null,
"docomo": null,
"au": null,
"softbank": null,
"google": null,
"image": "1f600.png",
"sheet_x": 30,
"sheet_y": 24,
"short_name": "grinning",
"short_names": [
"grinning"
],
"text": ":D",
"texts": null,
"category": "Smileys & People",
"sort_order": 1,
"added_in": "6.1",
"has_img_apple": true,
"has_img_google": true,
"has_img_twitter": true,
"has_img_emojione": true,
"has_img_facebook": true,
"has_img_messenger": true
},
or data_emoji_names.txt, data_emoji_names_more.txt, data_emoji_names_v4.txt and data_emoji_names_v5.txt
"1f600": {
"name": "grinning face",
"unicode_version": 6.1,
"category": "people",
"order": 1,
"display": 1,
"shortname": ":grinning:",
"shortname_alternates": [],
"ascii": [],
"diversity": null,
"diversities": [],
"gender": null,
"genders": [],
"code_points": {
"base": "1f600",
"fully_qualified": "1f600",
"non_fully_qualified":"1f600",
"output": "1f600",
"default_matches": ["1f600"],
"greedy_matches": ["1f600"],
"decimal": ""
},
"keywords":["face","grin"]
},
or rather eac.json
"1f600": {
"output": "1f600",
"name": "grinning face",
"alpha_code": ":grinning:",
"aliases": ""
},
Upsalat. What kind of subtypo π. fixed.
Subarrays for tags could be a nice Idea. Even I tend to keep things as simple as possible, but not simpler.
The trouble is the unicode guys doesn't support anykind of "shortname", "shortcode" or "alpha_code". So there is no "final" decision authority what to use. At the moment I have synced with the eac.json. But will do a look up with all the other sources. Do you have an idea what Facebook / Messenger / Apple use as shortcodes? At the first glance emojipedia follows mostlikely the eac.json shortcodes.
I8N Names & Tags from CLDR is allready on my todo-list top10. This will blow up the json a lot, so I think about two jsons. One minimal, one CLDR. Or perhaps one json per language? π² Another challenge CLDR is a bit behind v5. Only a subset of emoji v5 codepoints are supported.
And yes, Unicode should become an additional representation.
I would stuff like "Default Presentation", "Variation Sequences", "Modifier", "Year", "Unicode-Version" etc. put into the backlog. Perhaps for a "verbose" one.
Apple does not use fixed short codes. They have emojis in their auto correct/complete suggestions.
Facebook supports replacing some ASCII emoticons and a limited set of βemotesβ that can be extracted from their JS files. I donβt think there is other official, complete, up to date documentation of them.
emote2emojis: {
slightsmile: '1f642',
smile: '1f60a',
frown: '1f61e',
winktongue: '1f61c',
poop: '1f4a9',
tongue: '1f61b',
slightgrin: '1f600',
grin: '1f603',
gasp: '1f62e',
wink: '1f609',
glasses: '1f60e',
grumpy: '1f620',
unsure: '1f615',
cry: '1f622',
devil: '1f608',
angel: '1f607',
kiss: '1f617',
winkkiss: '1f618',
heart: '2764',
kiki: '1f60a',
expressionless: '1f611',
squint: '1f610',
upset: '1f620',
persevere: '1f623',
penguin: '1f427',
flushface: '1f633',
crying: '1f62d',
flushkiss: '1f61a',
sweating: '1f613',
like: 'f0000',
dislike: '1f44e'
},
There is an obvious typo in
SubCategory
.Some fields should be arrays,
Tags
, perhapsCategories
, or name-value maps/objects,Shortcodes
,Names
(Unicode character vs. localized CLDR names). CLDR also offers localized keywords.Unicode
should be a number or array of numbers if you wanted to cover sequences. JSON unfortunately does not support hexadecimal notation.Default presentation (
text
oremoji
), existence of variation sequences (VS-15/16, U+FE0E/F), boolean status as skin tone modifier base and prefix or suffix in gender sequences could be useful; year or version of Unicode addition as well.