Compare commits
26 Commits
2.0-stable
...
v2.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
701f434b60 | ||
|
|
112cc8fb8b | ||
|
|
5162959546 | ||
|
|
75ada7cc89 | ||
|
|
0bb789e3e6 | ||
|
|
9beb9c0172 | ||
|
|
ea70c98946 | ||
|
|
7d416739ba | ||
|
|
96295d7871 | ||
|
|
584939127e | ||
|
|
680d1bc59b | ||
|
|
2c58377420 | ||
|
|
3bb3cea8d3 | ||
|
|
5e6dcae949 | ||
|
|
2aaf9693a9 | ||
|
|
0d1a82dc6a | ||
|
|
6b9cdd6eb5 | ||
|
|
75f837e6b5 | ||
|
|
c2286e7c5b | ||
|
|
3e21d95409 | ||
|
|
a86999a7f1 | ||
|
|
b7c2b8e4d8 | ||
|
|
1212951bc6 | ||
|
|
b1736a387c | ||
|
|
f9aba615af | ||
|
|
2741be5eb6 |
@@ -1,3 +1,4 @@
|
||||
script: script/test
|
||||
rvm:
|
||||
- 1.9.3
|
||||
- 2.1.2
|
||||
|
||||
49
CONTRIBUTING.md
Normal file
@@ -0,0 +1,49 @@
|
||||
Our emoji set is based off Apple's emoji character palette, plus some custom
|
||||
emoji such as :octocat: :shipit: :metal:.
|
||||
|
||||
Some useful tools in development are:
|
||||
|
||||
```
|
||||
script/bootstrap
|
||||
```
|
||||
|
||||
Sets up the development environment. The prerequisites are:
|
||||
|
||||
* Ruby 1.9+
|
||||
* Bundler
|
||||
|
||||
```
|
||||
rake db:generate
|
||||
```
|
||||
|
||||
On OS X, this will rebuild the `db/Category-Emoji.json` file from the system
|
||||
one, pulling in any new emoji that Apple may have added in the meantime.
|
||||
|
||||
```
|
||||
script/test
|
||||
```
|
||||
|
||||
Runs the test suite, including the integrity test where we assert that we have
|
||||
covered each of Apple's emoji.
|
||||
|
||||
```
|
||||
script/regenerate
|
||||
```
|
||||
|
||||
Rebuilds the `db/emoji.json` file which is our main list of emoji: their
|
||||
canonical representations, descriptions, aliases, and tags. This requires OS X
|
||||
because Safari is used in the process to verify which character render as emoji
|
||||
and which render as ordinary Unicode glyphs from the current font.
|
||||
|
||||
```
|
||||
script/console
|
||||
```
|
||||
|
||||
Opens `irb` console with gemoji library preloded for experimentation.
|
||||
|
||||
```
|
||||
script/release
|
||||
```
|
||||
|
||||
For maintainers only: after the gemspec has been edited, this commits the
|
||||
change, tags a release, and pushes it to both GitHub and RubyGems.org.
|
||||
@@ -1,7 +1,7 @@
|
||||
PATH
|
||||
remote: .
|
||||
specs:
|
||||
gemoji (1.5.0)
|
||||
gemoji (2.1.0)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
# Maintainers
|
||||
|
||||
## Releasing a new gem
|
||||
|
||||
If you are just adding new emoji or making a small fix, only increment the patch level "1.0.x". If you need to rename a ton of emojis or making any other radical (but still mostly backwards compatible changes), bump the minor version "1.x.x".
|
||||
|
||||
### Make a release commit
|
||||
|
||||
To prepare the release commit, edit the [gemoji.gemspec](https://github.com/github/gemoji/blob/master/gemoji.gemspec) `version` value. Then make a single commit with the description as "Gemoji 1.x.x". Finally, tag the commit with `v1.x.x`.
|
||||
|
||||
Example commit https://github.com/github/gemoji/commit/v1.0.0
|
||||
|
||||
```
|
||||
$ git ci -m "Gemoji 1.0.0"
|
||||
$ git tag v1.0.0
|
||||
$ git push
|
||||
$ git push --tags
|
||||
```
|
||||
|
||||
### Publish the gem
|
||||
|
||||
Build and push the new gem with
|
||||
|
||||
```
|
||||
$ gem build gemoji.gemspec
|
||||
$ gem push gemoji-1.0.0.gem
|
||||
```
|
||||
@@ -56,7 +56,7 @@ See the [Emoji cheat sheet](http://www.emoji-cheat-sheet.com) for more examples.
|
||||
module EmojiHelper
|
||||
def emojify(content)
|
||||
h(content).to_str.gsub(/:([\w+-]+):/) do |match|
|
||||
if emoji = Emoji.find_by_alias($1) { nil }
|
||||
if emoji = Emoji.find_by_alias($1)
|
||||
%(<img alt="#$1" src="#{asset_path("emoji/#{emoji.image_filename}")}" style="vertical-align:middle" width="20" height="20" />)
|
||||
else
|
||||
match
|
||||
|
||||
13
db/aliases.applescript
Normal file
@@ -0,0 +1,13 @@
|
||||
set jsCode to "document.getElementById('output').value"
|
||||
set json to missing value
|
||||
|
||||
tell application "Safari"
|
||||
repeat
|
||||
set json to (do JavaScript jsCode in current tab of window 1)
|
||||
if (json is not missing value) then exit repeat
|
||||
delay 0.5
|
||||
end repeat
|
||||
close current tab of window 1
|
||||
end tell
|
||||
|
||||
return json
|
||||
81
db/aliases.html
Normal file
@@ -0,0 +1,81 @@
|
||||
<!DOCTYPE html>
|
||||
<title>Emoji alias detection</title>
|
||||
<style>
|
||||
textarea {
|
||||
font-family: monospace;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>Save the following as <tt>emoji.json</tt>:</p>
|
||||
|
||||
<textarea id="output" rows="50" cols="80"></textarea>
|
||||
|
||||
<script>
|
||||
const VARIATION_SELECTOR_15 = String.fromCharCode(0xfe0e);
|
||||
const VARIATION_SELECTOR_16 = String.fromCharCode(0xfe0f);
|
||||
const EMOJI_SIZE = 32
|
||||
|
||||
function detectAliases(db) {
|
||||
for (var i = 0; i < db.length; ++i) {
|
||||
var emoji = db[i];
|
||||
var raw = emoji.emoji;
|
||||
if (!raw) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (raw.indexOf(VARIATION_SELECTOR_16) > -1) {
|
||||
var candidates = [raw.replace(VARIATION_SELECTOR_16, ""), raw];
|
||||
} else {
|
||||
var candidates = [raw, raw + VARIATION_SELECTOR_16];
|
||||
}
|
||||
|
||||
var aliases = candidates.filter(isColorEmoji);
|
||||
emoji.emoji = aliases[0];
|
||||
}
|
||||
|
||||
dump(db);
|
||||
}
|
||||
|
||||
function isColorEmoji(candidate) {
|
||||
// Draw the emoji twice using a different color each time. If the emoji
|
||||
// draws as the same color regardless of what color we set, it's a color
|
||||
// emoji.
|
||||
return color(candidate, "#f00") === color(candidate, "#0f0");
|
||||
}
|
||||
|
||||
var canvas = document.createElement("canvas");
|
||||
canvas.width = canvas.height = EMOJI_SIZE;
|
||||
|
||||
function color(emoji, rgb) {
|
||||
var context = canvas.getContext("2d");
|
||||
context.clearRect(0, 0, canvas.width, canvas.height);
|
||||
context.fillStyle = rgb;
|
||||
context.textBaseline = "top";
|
||||
context.font = EMOJI_SIZE+"px Arial";
|
||||
context.fillText(emoji, 0, 0);
|
||||
var data = context.getImageData(0, 0, EMOJI_SIZE, EMOJI_SIZE).data;
|
||||
for (var i = 0; i < data.length; i += 4) {
|
||||
if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0) {
|
||||
continue;
|
||||
}
|
||||
return data[i].toString(16)
|
||||
+ data[i + 1].toString(16)
|
||||
+ data[i + 2].toString(16);
|
||||
}
|
||||
return "no colored pixel found";
|
||||
}
|
||||
|
||||
function dump(db) {
|
||||
var json = JSON.stringify(db, null, " ")
|
||||
.replace(/^( +)(.+)\[\](,?)$/mg, "$1$2[\n$1]$3")
|
||||
.replace(/,\n( *) /g, "\n$1, ");
|
||||
document.getElementById("output").value = json + "\n";
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest;
|
||||
xhr.onload = function() {
|
||||
detectAliases(JSON.parse(this.responseText));
|
||||
};
|
||||
xhr.open("GET", "emoji.json", false);
|
||||
xhr.send(null);
|
||||
</script>
|
||||
@@ -52,19 +52,14 @@ end
|
||||
trap(:PIPE) { abort }
|
||||
|
||||
items = []
|
||||
variation = Emoji::VARIATION_SELECTOR_16
|
||||
variation_codepoint = Emoji::VARIATION_SELECTOR_16.codepoints[0]
|
||||
|
||||
for emoji in Emoji.all
|
||||
unicodes = emoji.unicode_aliases.dup
|
||||
|
||||
item = {}
|
||||
|
||||
unless emoji.custom?
|
||||
variation_codepoint = variation.codepoints[0]
|
||||
chars = emoji.raw.codepoints.map { |code| UnicodeCharacter.fetch(code) unless code == variation_codepoint }.compact
|
||||
unicodes.select { |u| u.index(variation) }.each { |u| unicodes.delete(u.sub(variation, '')) }
|
||||
item[:emoji] = unicodes.shift
|
||||
item[:unicodes] = unicodes if unicodes.any?
|
||||
item[:emoji] = emoji.raw
|
||||
item[:description] = chars.map(&:description).join(' + ')
|
||||
end
|
||||
|
||||
|
||||
133
db/emoji.json
@@ -2904,7 +2904,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⭐️"
|
||||
"emoji": "⭐"
|
||||
, "description": "white medium star"
|
||||
, "aliases": [
|
||||
"star"
|
||||
@@ -2923,7 +2923,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛅️"
|
||||
"emoji": "⛅"
|
||||
, "description": "sun behind cloud"
|
||||
, "aliases": [
|
||||
"partly_sunny"
|
||||
@@ -2943,7 +2943,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⚡️"
|
||||
"emoji": "⚡"
|
||||
, "description": "high voltage sign"
|
||||
, "aliases": [
|
||||
"zap"
|
||||
@@ -2954,7 +2954,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "☔️"
|
||||
"emoji": "☔"
|
||||
, "description": "umbrella with rain drops"
|
||||
, "aliases": [
|
||||
"umbrella"
|
||||
@@ -2977,7 +2977,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛄️"
|
||||
"emoji": "⛄"
|
||||
, "description": "snowman without snow"
|
||||
, "aliases": [
|
||||
"snowman"
|
||||
@@ -3491,7 +3491,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⌛️"
|
||||
"emoji": "⌛"
|
||||
, "description": "hourglass"
|
||||
, "aliases": [
|
||||
"hourglass"
|
||||
@@ -3511,7 +3511,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⌚️"
|
||||
"emoji": "⌚"
|
||||
, "description": "watch"
|
||||
, "aliases": [
|
||||
"watch"
|
||||
@@ -4487,7 +4487,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🀄️"
|
||||
"emoji": "🀄"
|
||||
, "description": "mahjong tile red dragon"
|
||||
, "aliases": [
|
||||
"mahjong"
|
||||
@@ -4537,7 +4537,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⚽️"
|
||||
"emoji": "⚽"
|
||||
, "description": "soccer ball"
|
||||
, "aliases": [
|
||||
"soccer"
|
||||
@@ -4596,7 +4596,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛳️"
|
||||
"emoji": "⛳"
|
||||
, "description": "flag in hole"
|
||||
, "aliases": [
|
||||
"golf"
|
||||
@@ -4700,7 +4700,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "☕️"
|
||||
"emoji": "☕"
|
||||
, "description": "hot beverage"
|
||||
, "aliases": [
|
||||
"coffee"
|
||||
@@ -5358,7 +5358,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛪️"
|
||||
"emoji": "⛪"
|
||||
, "description": "church"
|
||||
, "aliases": [
|
||||
"church"
|
||||
@@ -5421,7 +5421,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛺️"
|
||||
"emoji": "⛺"
|
||||
, "description": "tent"
|
||||
, "aliases": [
|
||||
"tent"
|
||||
@@ -5530,7 +5530,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛲️"
|
||||
"emoji": "⛲"
|
||||
, "description": "fountain"
|
||||
, "aliases": [
|
||||
"fountain"
|
||||
@@ -5557,7 +5557,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛵️"
|
||||
"emoji": "⛵"
|
||||
, "description": "sailboat"
|
||||
, "aliases": [
|
||||
"boat"
|
||||
@@ -5586,7 +5586,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⚓️"
|
||||
"emoji": "⚓"
|
||||
, "description": "anchor"
|
||||
, "aliases": [
|
||||
"anchor"
|
||||
@@ -6014,7 +6014,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛽️"
|
||||
"emoji": "⛽"
|
||||
, "description": "fuel pump"
|
||||
, "aliases": [
|
||||
"fuelpump"
|
||||
@@ -6696,10 +6696,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🈯️"
|
||||
, "unicodes": [
|
||||
"指"
|
||||
]
|
||||
"emoji": "🈯"
|
||||
, "description": "squared cjk unified ideograph-6307"
|
||||
, "aliases": [
|
||||
"u6307"
|
||||
@@ -6709,9 +6706,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈳"
|
||||
, "unicodes": [
|
||||
"空"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-7a7a"
|
||||
, "aliases": [
|
||||
"u7a7a"
|
||||
@@ -6721,9 +6715,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈵"
|
||||
, "unicodes": [
|
||||
"満"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-6e80"
|
||||
, "aliases": [
|
||||
"u6e80"
|
||||
@@ -6733,9 +6724,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈴"
|
||||
, "unicodes": [
|
||||
"合"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-5408"
|
||||
, "aliases": [
|
||||
"u5408"
|
||||
@@ -6745,9 +6733,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈲"
|
||||
, "unicodes": [
|
||||
"禁"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-7981"
|
||||
, "aliases": [
|
||||
"u7981"
|
||||
@@ -6766,9 +6751,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈹"
|
||||
, "unicodes": [
|
||||
"割"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-5272"
|
||||
, "aliases": [
|
||||
"u5272"
|
||||
@@ -6778,9 +6760,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈺"
|
||||
, "unicodes": [
|
||||
"営"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-55b6"
|
||||
, "aliases": [
|
||||
"u55b6"
|
||||
@@ -6790,9 +6769,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈶"
|
||||
, "unicodes": [
|
||||
"有"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-6709"
|
||||
, "aliases": [
|
||||
"u6709"
|
||||
@@ -6801,10 +6777,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🈚️"
|
||||
, "unicodes": [
|
||||
"無"
|
||||
]
|
||||
"emoji": "🈚"
|
||||
, "description": "squared cjk unified ideograph-7121"
|
||||
, "aliases": [
|
||||
"u7121"
|
||||
@@ -6888,7 +6861,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♿️"
|
||||
"emoji": "♿"
|
||||
, "description": "wheelchair symbol"
|
||||
, "aliases": [
|
||||
"wheelchair"
|
||||
@@ -6907,10 +6880,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🈷"
|
||||
, "unicodes": [
|
||||
"月"
|
||||
]
|
||||
"emoji": "🈷️"
|
||||
, "description": "squared cjk unified ideograph-6708"
|
||||
, "aliases": [
|
||||
"u6708"
|
||||
@@ -6920,9 +6890,6 @@
|
||||
}
|
||||
, {
|
||||
"emoji": "🈸"
|
||||
, "unicodes": [
|
||||
"申"
|
||||
]
|
||||
, "description": "squared cjk unified ideograph-7533"
|
||||
, "aliases": [
|
||||
"u7533"
|
||||
@@ -6931,7 +6898,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🈂"
|
||||
"emoji": "🈂️"
|
||||
, "description": "squared katakana sa"
|
||||
, "aliases": [
|
||||
"sa"
|
||||
@@ -7116,7 +7083,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⛔️"
|
||||
"emoji": "⛔"
|
||||
, "description": "no entry"
|
||||
, "aliases": [
|
||||
"no_entry"
|
||||
@@ -7209,7 +7176,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🅰"
|
||||
"emoji": "🅰️"
|
||||
, "description": "negative squared latin capital letter a"
|
||||
, "aliases": [
|
||||
"a"
|
||||
@@ -7218,7 +7185,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🅱"
|
||||
"emoji": "🅱️"
|
||||
, "description": "negative squared latin capital letter b"
|
||||
, "aliases": [
|
||||
"b"
|
||||
@@ -7236,7 +7203,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "🅾"
|
||||
"emoji": "🅾️"
|
||||
, "description": "negative squared latin capital letter o"
|
||||
, "aliases": [
|
||||
"o2"
|
||||
@@ -7274,7 +7241,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♈️"
|
||||
"emoji": "♈"
|
||||
, "description": "aries"
|
||||
, "aliases": [
|
||||
"aries"
|
||||
@@ -7283,7 +7250,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♉️"
|
||||
"emoji": "♉"
|
||||
, "description": "taurus"
|
||||
, "aliases": [
|
||||
"taurus"
|
||||
@@ -7292,7 +7259,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♊️"
|
||||
"emoji": "♊"
|
||||
, "description": "gemini"
|
||||
, "aliases": [
|
||||
"gemini"
|
||||
@@ -7301,7 +7268,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♋️"
|
||||
"emoji": "♋"
|
||||
, "description": "cancer"
|
||||
, "aliases": [
|
||||
"cancer"
|
||||
@@ -7310,7 +7277,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♌️"
|
||||
"emoji": "♌"
|
||||
, "description": "leo"
|
||||
, "aliases": [
|
||||
"leo"
|
||||
@@ -7319,7 +7286,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♍️"
|
||||
"emoji": "♍"
|
||||
, "description": "virgo"
|
||||
, "aliases": [
|
||||
"virgo"
|
||||
@@ -7328,7 +7295,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♎️"
|
||||
"emoji": "♎"
|
||||
, "description": "libra"
|
||||
, "aliases": [
|
||||
"libra"
|
||||
@@ -7337,7 +7304,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♏️"
|
||||
"emoji": "♏"
|
||||
, "description": "scorpius"
|
||||
, "aliases": [
|
||||
"scorpius"
|
||||
@@ -7346,7 +7313,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♐️"
|
||||
"emoji": "♐"
|
||||
, "description": "sagittarius"
|
||||
, "aliases": [
|
||||
"sagittarius"
|
||||
@@ -7355,7 +7322,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♑️"
|
||||
"emoji": "♑"
|
||||
, "description": "capricorn"
|
||||
, "aliases": [
|
||||
"capricorn"
|
||||
@@ -7364,7 +7331,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♒️"
|
||||
"emoji": "♒"
|
||||
, "description": "aquarius"
|
||||
, "aliases": [
|
||||
"aquarius"
|
||||
@@ -7373,7 +7340,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "♓️"
|
||||
"emoji": "♓"
|
||||
, "description": "pisces"
|
||||
, "aliases": [
|
||||
"pisces"
|
||||
@@ -7436,7 +7403,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "©"
|
||||
"emoji": "©️"
|
||||
, "description": "copyright sign"
|
||||
, "aliases": [
|
||||
"copyright"
|
||||
@@ -7445,7 +7412,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "®"
|
||||
"emoji": "®️"
|
||||
, "description": "registered sign"
|
||||
, "aliases": [
|
||||
"registered"
|
||||
@@ -7454,7 +7421,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "™"
|
||||
"emoji": "™️"
|
||||
, "description": "trade mark sign"
|
||||
, "aliases": [
|
||||
"tm"
|
||||
@@ -7491,7 +7458,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "❗️"
|
||||
"emoji": "❗"
|
||||
, "description": "heavy exclamation mark symbol"
|
||||
, "aliases": [
|
||||
"exclamation"
|
||||
@@ -7530,7 +7497,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⭕️"
|
||||
"emoji": "⭕"
|
||||
, "description": "heavy large circle"
|
||||
, "aliases": [
|
||||
"o"
|
||||
@@ -7946,7 +7913,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "〰"
|
||||
"emoji": "〰️"
|
||||
, "description": "wavy dash"
|
||||
, "aliases": [
|
||||
"wavy_dash"
|
||||
@@ -7991,7 +7958,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "◾️"
|
||||
"emoji": "◾"
|
||||
, "description": "black medium small square"
|
||||
, "aliases": [
|
||||
"black_medium_small_square"
|
||||
@@ -8000,7 +7967,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "◽️"
|
||||
"emoji": "◽"
|
||||
, "description": "white medium small square"
|
||||
, "aliases": [
|
||||
"white_medium_small_square"
|
||||
@@ -8054,7 +8021,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⚫️"
|
||||
"emoji": "⚫"
|
||||
, "description": "medium black circle"
|
||||
, "aliases": [
|
||||
"black_circle"
|
||||
@@ -8063,7 +8030,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⚪️"
|
||||
"emoji": "⚪"
|
||||
, "description": "medium white circle"
|
||||
, "aliases": [
|
||||
"white_circle"
|
||||
@@ -8099,7 +8066,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⬜️"
|
||||
"emoji": "⬜"
|
||||
, "description": "white large square"
|
||||
, "aliases": [
|
||||
"white_large_square"
|
||||
@@ -8108,7 +8075,7 @@
|
||||
]
|
||||
}
|
||||
, {
|
||||
"emoji": "⬛️"
|
||||
"emoji": "⬛"
|
||||
, "description": "black large square"
|
||||
, "aliases": [
|
||||
"black_large_square"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Gem::Specification.new do |s|
|
||||
s.name = "gemoji"
|
||||
s.version = "2.0.0"
|
||||
s.version = "2.1.0"
|
||||
s.summary = "Emoji conversion and image assets"
|
||||
s.description = "Image assets and character information for emoji."
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 591 B |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |