gemoji 4.0.0.rc3 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/db/emoji.json +471 -3
- data/lib/emoji/character.rb +31 -0
- data/lib/emoji.rb +4 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d635214e1d3917e6457cdc9d0166f75a12db91181827089b472704f2f2b107bc
|
4
|
+
data.tar.gz: 9f1dbe22fd0140ca3ffaf35d9038361a1e5fc738b68e0cb980550683053e309d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2435113a21a123a55f0f6713157284eb004e54f272eb9d1ca6376e0141966b6064cf1f65224861d3d1693af89caf6a03e64a5e91fbfc3c4ab84465d44a201a3
|
7
|
+
data.tar.gz: 582d95640f43d91ba425270cd53b36444c17897a6a5112110f866eda51870ebe761906588c0d0d3e3ba4e5a150c3fac5c2aa794229a7fda5c91b8bfcdb5de5b3
|
data/db/emoji.json
CHANGED
@@ -135,6 +135,20 @@
|
|
135
135
|
, "unicode_version": "8.0"
|
136
136
|
, "ios_version": "9.1"
|
137
137
|
}
|
138
|
+
, {
|
139
|
+
"emoji": "🫠"
|
140
|
+
, "description": "melting face"
|
141
|
+
, "category": "Smileys & Emotion"
|
142
|
+
, "aliases": [
|
143
|
+
"melting_face"
|
144
|
+
]
|
145
|
+
, "tags": [
|
146
|
+
"sarcasm"
|
147
|
+
, "dread"
|
148
|
+
]
|
149
|
+
, "unicode_version": "14.0"
|
150
|
+
, "ios_version": "15.4"
|
151
|
+
}
|
138
152
|
, {
|
139
153
|
"emoji": "😉"
|
140
154
|
, "description": "winking face"
|
@@ -371,7 +385,7 @@
|
|
371
385
|
}
|
372
386
|
, {
|
373
387
|
"emoji": "🤗"
|
374
|
-
, "description": "
|
388
|
+
, "description": "smiling face with open hands"
|
375
389
|
, "category": "Smileys & Emotion"
|
376
390
|
, "aliases": [
|
377
391
|
"hugs"
|
@@ -395,6 +409,32 @@
|
|
395
409
|
, "unicode_version": "11.0"
|
396
410
|
, "ios_version": "12.1"
|
397
411
|
}
|
412
|
+
, {
|
413
|
+
"emoji": "🫢"
|
414
|
+
, "description": "face with open eyes and hand over mouth"
|
415
|
+
, "category": "Smileys & Emotion"
|
416
|
+
, "aliases": [
|
417
|
+
"face_with_open_eyes_and_hand_over_mouth"
|
418
|
+
]
|
419
|
+
, "tags": [
|
420
|
+
"gasp"
|
421
|
+
, "shock"
|
422
|
+
]
|
423
|
+
, "unicode_version": "14.0"
|
424
|
+
, "ios_version": "15.4"
|
425
|
+
}
|
426
|
+
, {
|
427
|
+
"emoji": "🫣"
|
428
|
+
, "description": "face with peeking eye"
|
429
|
+
, "category": "Smileys & Emotion"
|
430
|
+
, "aliases": [
|
431
|
+
"face_with_peeking_eye"
|
432
|
+
]
|
433
|
+
, "tags": [
|
434
|
+
]
|
435
|
+
, "unicode_version": "14.0"
|
436
|
+
, "ios_version": "15.4"
|
437
|
+
}
|
398
438
|
, {
|
399
439
|
"emoji": "🤫"
|
400
440
|
, "description": "shushing face"
|
@@ -421,6 +461,19 @@
|
|
421
461
|
, "unicode_version": "8.0"
|
422
462
|
, "ios_version": "9.1"
|
423
463
|
}
|
464
|
+
, {
|
465
|
+
"emoji": "🫡"
|
466
|
+
, "description": "saluting face"
|
467
|
+
, "category": "Smileys & Emotion"
|
468
|
+
, "aliases": [
|
469
|
+
"saluting_face"
|
470
|
+
]
|
471
|
+
, "tags": [
|
472
|
+
"respect"
|
473
|
+
]
|
474
|
+
, "unicode_version": "14.0"
|
475
|
+
, "ios_version": "15.4"
|
476
|
+
}
|
424
477
|
, {
|
425
478
|
"emoji": "🤐"
|
426
479
|
, "description": "zipper-mouth face"
|
@@ -487,6 +540,19 @@
|
|
487
540
|
, "unicode_version": "6.0"
|
488
541
|
, "ios_version": "6.0"
|
489
542
|
}
|
543
|
+
, {
|
544
|
+
"emoji": "🫥"
|
545
|
+
, "description": "dotted line face"
|
546
|
+
, "category": "Smileys & Emotion"
|
547
|
+
, "aliases": [
|
548
|
+
"dotted_line_face"
|
549
|
+
]
|
550
|
+
, "tags": [
|
551
|
+
"invisible"
|
552
|
+
]
|
553
|
+
, "unicode_version": "14.0"
|
554
|
+
, "ios_version": "15.4"
|
555
|
+
}
|
490
556
|
, {
|
491
557
|
"emoji": "😶🌫️"
|
492
558
|
, "description": "face in clouds"
|
@@ -763,7 +829,7 @@
|
|
763
829
|
}
|
764
830
|
, {
|
765
831
|
"emoji": "😵"
|
766
|
-
, "description": "
|
832
|
+
, "description": "face with crossed-out eyes"
|
767
833
|
, "category": "Smileys & Emotion"
|
768
834
|
, "aliases": [
|
769
835
|
"dizzy_face"
|
@@ -888,6 +954,19 @@
|
|
888
954
|
, "unicode_version": "6.1"
|
889
955
|
, "ios_version": "6.0"
|
890
956
|
}
|
957
|
+
, {
|
958
|
+
"emoji": "🫤"
|
959
|
+
, "description": "face with diagonal mouth"
|
960
|
+
, "category": "Smileys & Emotion"
|
961
|
+
, "aliases": [
|
962
|
+
"face_with_diagonal_mouth"
|
963
|
+
]
|
964
|
+
, "tags": [
|
965
|
+
"confused"
|
966
|
+
]
|
967
|
+
, "unicode_version": "14.0"
|
968
|
+
, "ios_version": "15.4"
|
969
|
+
}
|
891
970
|
, {
|
892
971
|
"emoji": "😟"
|
893
972
|
, "description": "worried face"
|
@@ -994,6 +1073,20 @@
|
|
994
1073
|
, "unicode_version": "11.0"
|
995
1074
|
, "ios_version": "12.1"
|
996
1075
|
}
|
1076
|
+
, {
|
1077
|
+
"emoji": "🥹"
|
1078
|
+
, "description": "face holding back tears"
|
1079
|
+
, "category": "Smileys & Emotion"
|
1080
|
+
, "aliases": [
|
1081
|
+
"face_holding_back_tears"
|
1082
|
+
]
|
1083
|
+
, "tags": [
|
1084
|
+
"tears"
|
1085
|
+
, "gratitude"
|
1086
|
+
]
|
1087
|
+
, "unicode_version": "14.0"
|
1088
|
+
, "ios_version": "15.4"
|
1089
|
+
}
|
997
1090
|
, {
|
998
1091
|
"emoji": "😦"
|
999
1092
|
, "description": "frowning face with open mouth"
|
@@ -2104,6 +2197,58 @@
|
|
2104
2197
|
, "ios_version": "8.3"
|
2105
2198
|
, "skin_tones": true
|
2106
2199
|
}
|
2200
|
+
, {
|
2201
|
+
"emoji": "🫱"
|
2202
|
+
, "description": "rightwards hand"
|
2203
|
+
, "category": "People & Body"
|
2204
|
+
, "aliases": [
|
2205
|
+
"rightwards_hand"
|
2206
|
+
]
|
2207
|
+
, "tags": [
|
2208
|
+
]
|
2209
|
+
, "unicode_version": "14.0"
|
2210
|
+
, "ios_version": "15.4"
|
2211
|
+
, "skin_tones": true
|
2212
|
+
}
|
2213
|
+
, {
|
2214
|
+
"emoji": "🫲"
|
2215
|
+
, "description": "leftwards hand"
|
2216
|
+
, "category": "People & Body"
|
2217
|
+
, "aliases": [
|
2218
|
+
"leftwards_hand"
|
2219
|
+
]
|
2220
|
+
, "tags": [
|
2221
|
+
]
|
2222
|
+
, "unicode_version": "14.0"
|
2223
|
+
, "ios_version": "15.4"
|
2224
|
+
, "skin_tones": true
|
2225
|
+
}
|
2226
|
+
, {
|
2227
|
+
"emoji": "🫳"
|
2228
|
+
, "description": "palm down hand"
|
2229
|
+
, "category": "People & Body"
|
2230
|
+
, "aliases": [
|
2231
|
+
"palm_down_hand"
|
2232
|
+
]
|
2233
|
+
, "tags": [
|
2234
|
+
]
|
2235
|
+
, "unicode_version": "14.0"
|
2236
|
+
, "ios_version": "15.4"
|
2237
|
+
, "skin_tones": true
|
2238
|
+
}
|
2239
|
+
, {
|
2240
|
+
"emoji": "🫴"
|
2241
|
+
, "description": "palm up hand"
|
2242
|
+
, "category": "People & Body"
|
2243
|
+
, "aliases": [
|
2244
|
+
"palm_up_hand"
|
2245
|
+
]
|
2246
|
+
, "tags": [
|
2247
|
+
]
|
2248
|
+
, "unicode_version": "14.0"
|
2249
|
+
, "ios_version": "15.4"
|
2250
|
+
, "skin_tones": true
|
2251
|
+
}
|
2107
2252
|
, {
|
2108
2253
|
"emoji": "👌"
|
2109
2254
|
, "description": "OK hand"
|
@@ -2173,6 +2318,19 @@
|
|
2173
2318
|
, "ios_version": "10.2"
|
2174
2319
|
, "skin_tones": true
|
2175
2320
|
}
|
2321
|
+
, {
|
2322
|
+
"emoji": "🫰"
|
2323
|
+
, "description": "hand with index finger and thumb crossed"
|
2324
|
+
, "category": "People & Body"
|
2325
|
+
, "aliases": [
|
2326
|
+
"hand_with_index_finger_and_thumb_crossed"
|
2327
|
+
]
|
2328
|
+
, "tags": [
|
2329
|
+
]
|
2330
|
+
, "unicode_version": "14.0"
|
2331
|
+
, "ios_version": "15.4"
|
2332
|
+
, "skin_tones": true
|
2333
|
+
}
|
2176
2334
|
, {
|
2177
2335
|
"emoji": "🤟"
|
2178
2336
|
, "description": "love-you gesture"
|
@@ -2291,6 +2449,19 @@
|
|
2291
2449
|
, "ios_version": "6.0"
|
2292
2450
|
, "skin_tones": true
|
2293
2451
|
}
|
2452
|
+
, {
|
2453
|
+
"emoji": "🫵"
|
2454
|
+
, "description": "index pointing at the viewer"
|
2455
|
+
, "category": "People & Body"
|
2456
|
+
, "aliases": [
|
2457
|
+
"index_pointing_at_the_viewer"
|
2458
|
+
]
|
2459
|
+
, "tags": [
|
2460
|
+
]
|
2461
|
+
, "unicode_version": "14.0"
|
2462
|
+
, "ios_version": "15.4"
|
2463
|
+
, "skin_tones": true
|
2464
|
+
}
|
2294
2465
|
, {
|
2295
2466
|
"emoji": "👍"
|
2296
2467
|
, "description": "thumbs up"
|
@@ -2409,6 +2580,20 @@
|
|
2409
2580
|
, "ios_version": "6.0"
|
2410
2581
|
, "skin_tones": true
|
2411
2582
|
}
|
2583
|
+
, {
|
2584
|
+
"emoji": "🫶"
|
2585
|
+
, "description": "heart hands"
|
2586
|
+
, "category": "People & Body"
|
2587
|
+
, "aliases": [
|
2588
|
+
"heart_hands"
|
2589
|
+
]
|
2590
|
+
, "tags": [
|
2591
|
+
"love"
|
2592
|
+
]
|
2593
|
+
, "unicode_version": "14.0"
|
2594
|
+
, "ios_version": "15.4"
|
2595
|
+
, "skin_tones": true
|
2596
|
+
}
|
2412
2597
|
, {
|
2413
2598
|
"emoji": "👐"
|
2414
2599
|
, "description": "open hands"
|
@@ -2447,6 +2632,7 @@
|
|
2447
2632
|
]
|
2448
2633
|
, "unicode_version": "9.0"
|
2449
2634
|
, "ios_version": "10.2"
|
2635
|
+
, "skin_tones": true
|
2450
2636
|
}
|
2451
2637
|
, {
|
2452
2638
|
"emoji": "🙏"
|
@@ -2728,6 +2914,18 @@
|
|
2728
2914
|
, "unicode_version": "6.0"
|
2729
2915
|
, "ios_version": "6.0"
|
2730
2916
|
}
|
2917
|
+
, {
|
2918
|
+
"emoji": "🫦"
|
2919
|
+
, "description": "biting lip"
|
2920
|
+
, "category": "People & Body"
|
2921
|
+
, "aliases": [
|
2922
|
+
"biting_lip"
|
2923
|
+
]
|
2924
|
+
, "tags": [
|
2925
|
+
]
|
2926
|
+
, "unicode_version": "14.0"
|
2927
|
+
, "ios_version": "15.4"
|
2928
|
+
}
|
2731
2929
|
, {
|
2732
2930
|
"emoji": "👶"
|
2733
2931
|
, "description": "baby"
|
@@ -4344,6 +4542,19 @@
|
|
4344
4542
|
, "ios_version": "10.0"
|
4345
4543
|
, "skin_tones": true
|
4346
4544
|
}
|
4545
|
+
, {
|
4546
|
+
"emoji": "🫅"
|
4547
|
+
, "description": "person with crown"
|
4548
|
+
, "category": "People & Body"
|
4549
|
+
, "aliases": [
|
4550
|
+
"person_with_crown"
|
4551
|
+
]
|
4552
|
+
, "tags": [
|
4553
|
+
]
|
4554
|
+
, "unicode_version": "14.0"
|
4555
|
+
, "ios_version": "15.4"
|
4556
|
+
, "skin_tones": true
|
4557
|
+
}
|
4347
4558
|
, {
|
4348
4559
|
"emoji": "🤴"
|
4349
4560
|
, "description": "prince"
|
@@ -4537,6 +4748,32 @@
|
|
4537
4748
|
, "ios_version": "10.2"
|
4538
4749
|
, "skin_tones": true
|
4539
4750
|
}
|
4751
|
+
, {
|
4752
|
+
"emoji": "🫃"
|
4753
|
+
, "description": "pregnant man"
|
4754
|
+
, "category": "People & Body"
|
4755
|
+
, "aliases": [
|
4756
|
+
"pregnant_man"
|
4757
|
+
]
|
4758
|
+
, "tags": [
|
4759
|
+
]
|
4760
|
+
, "unicode_version": "14.0"
|
4761
|
+
, "ios_version": "15.4"
|
4762
|
+
, "skin_tones": true
|
4763
|
+
}
|
4764
|
+
, {
|
4765
|
+
"emoji": "🫄"
|
4766
|
+
, "description": "pregnant person"
|
4767
|
+
, "category": "People & Body"
|
4768
|
+
, "aliases": [
|
4769
|
+
"pregnant_person"
|
4770
|
+
]
|
4771
|
+
, "tags": [
|
4772
|
+
]
|
4773
|
+
, "unicode_version": "14.0"
|
4774
|
+
, "ios_version": "15.4"
|
4775
|
+
, "skin_tones": true
|
4776
|
+
}
|
4540
4777
|
, {
|
4541
4778
|
"emoji": "🤱"
|
4542
4779
|
, "description": "breast-feeding"
|
@@ -4992,6 +5229,18 @@
|
|
4992
5229
|
, "unicode_version": "11.0"
|
4993
5230
|
, "ios_version": "12.1"
|
4994
5231
|
}
|
5232
|
+
, {
|
5233
|
+
"emoji": "🧌"
|
5234
|
+
, "description": "troll"
|
5235
|
+
, "category": "People & Body"
|
5236
|
+
, "aliases": [
|
5237
|
+
"troll"
|
5238
|
+
]
|
5239
|
+
, "tags": [
|
5240
|
+
]
|
5241
|
+
, "unicode_version": "14.0"
|
5242
|
+
, "ios_version": "15.4"
|
5243
|
+
}
|
4995
5244
|
, {
|
4996
5245
|
"emoji": "💆"
|
4997
5246
|
, "description": "person getting massage"
|
@@ -6167,7 +6416,7 @@
|
|
6167
6416
|
]
|
6168
6417
|
, "unicode_version": "12.0"
|
6169
6418
|
, "ios_version": "13.0"
|
6170
|
-
, "skin_tones":
|
6419
|
+
, "skin_tones": false
|
6171
6420
|
}
|
6172
6421
|
, {
|
6173
6422
|
"emoji": "👭"
|
@@ -7927,6 +8176,18 @@
|
|
7927
8176
|
, "unicode_version": "6.0"
|
7928
8177
|
, "ios_version": "6.0"
|
7929
8178
|
}
|
8179
|
+
, {
|
8180
|
+
"emoji": "🪸"
|
8181
|
+
, "description": "coral"
|
8182
|
+
, "category": "Animals & Nature"
|
8183
|
+
, "aliases": [
|
8184
|
+
"coral"
|
8185
|
+
]
|
8186
|
+
, "tags": [
|
8187
|
+
]
|
8188
|
+
, "unicode_version": "14.0"
|
8189
|
+
, "ios_version": "15.4"
|
8190
|
+
}
|
7930
8191
|
, {
|
7931
8192
|
"emoji": "🐌"
|
7932
8193
|
, "description": "snail"
|
@@ -8162,6 +8423,18 @@
|
|
8162
8423
|
, "unicode_version": "6.0"
|
8163
8424
|
, "ios_version": "6.0"
|
8164
8425
|
}
|
8426
|
+
, {
|
8427
|
+
"emoji": "🪷"
|
8428
|
+
, "description": "lotus"
|
8429
|
+
, "category": "Animals & Nature"
|
8430
|
+
, "aliases": [
|
8431
|
+
"lotus"
|
8432
|
+
]
|
8433
|
+
, "tags": [
|
8434
|
+
]
|
8435
|
+
, "unicode_version": "14.0"
|
8436
|
+
, "ios_version": "15.4"
|
8437
|
+
}
|
8165
8438
|
, {
|
8166
8439
|
"emoji": "🏵️"
|
8167
8440
|
, "description": "rosette"
|
@@ -8411,6 +8684,30 @@
|
|
8411
8684
|
, "unicode_version": "6.0"
|
8412
8685
|
, "ios_version": "6.0"
|
8413
8686
|
}
|
8687
|
+
, {
|
8688
|
+
"emoji": "🪹"
|
8689
|
+
, "description": "empty nest"
|
8690
|
+
, "category": "Animals & Nature"
|
8691
|
+
, "aliases": [
|
8692
|
+
"empty_nest"
|
8693
|
+
]
|
8694
|
+
, "tags": [
|
8695
|
+
]
|
8696
|
+
, "unicode_version": "14.0"
|
8697
|
+
, "ios_version": "15.4"
|
8698
|
+
}
|
8699
|
+
, {
|
8700
|
+
"emoji": "🪺"
|
8701
|
+
, "description": "nest with eggs"
|
8702
|
+
, "category": "Animals & Nature"
|
8703
|
+
, "aliases": [
|
8704
|
+
"nest_with_eggs"
|
8705
|
+
]
|
8706
|
+
, "tags": [
|
8707
|
+
]
|
8708
|
+
, "unicode_version": "14.0"
|
8709
|
+
, "ios_version": "15.4"
|
8710
|
+
}
|
8414
8711
|
, {
|
8415
8712
|
"emoji": "🍇"
|
8416
8713
|
, "description": "grapes"
|
@@ -8815,6 +9112,18 @@
|
|
8815
9112
|
, "unicode_version": "9.0"
|
8816
9113
|
, "ios_version": "10.2"
|
8817
9114
|
}
|
9115
|
+
, {
|
9116
|
+
"emoji": "🫘"
|
9117
|
+
, "description": "beans"
|
9118
|
+
, "category": "Food & Drink"
|
9119
|
+
, "aliases": [
|
9120
|
+
"beans"
|
9121
|
+
]
|
9122
|
+
, "tags": [
|
9123
|
+
]
|
9124
|
+
, "unicode_version": "14.0"
|
9125
|
+
, "ios_version": "15.4"
|
9126
|
+
}
|
8818
9127
|
, {
|
8819
9128
|
"emoji": "🌰"
|
8820
9129
|
, "description": "chestnut"
|
@@ -9864,6 +10173,18 @@
|
|
9864
10173
|
, "unicode_version": "9.0"
|
9865
10174
|
, "ios_version": "10.2"
|
9866
10175
|
}
|
10176
|
+
, {
|
10177
|
+
"emoji": "🫗"
|
10178
|
+
, "description": "pouring liquid"
|
10179
|
+
, "category": "Food & Drink"
|
10180
|
+
, "aliases": [
|
10181
|
+
"pouring_liquid"
|
10182
|
+
]
|
10183
|
+
, "tags": [
|
10184
|
+
]
|
10185
|
+
, "unicode_version": "14.0"
|
10186
|
+
, "ios_version": "15.4"
|
10187
|
+
}
|
9867
10188
|
, {
|
9868
10189
|
"emoji": "🥤"
|
9869
10190
|
, "description": "cup with straw"
|
@@ -9990,6 +10311,18 @@
|
|
9990
10311
|
, "unicode_version": "6.0"
|
9991
10312
|
, "ios_version": "6.0"
|
9992
10313
|
}
|
10314
|
+
, {
|
10315
|
+
"emoji": "🫙"
|
10316
|
+
, "description": "jar"
|
10317
|
+
, "category": "Food & Drink"
|
10318
|
+
, "aliases": [
|
10319
|
+
"jar"
|
10320
|
+
]
|
10321
|
+
, "tags": [
|
10322
|
+
]
|
10323
|
+
, "unicode_version": "14.0"
|
10324
|
+
, "ios_version": "15.4"
|
10325
|
+
}
|
9993
10326
|
, {
|
9994
10327
|
"emoji": "🏺"
|
9995
10328
|
, "description": "amphora"
|
@@ -10751,6 +11084,18 @@
|
|
10751
11084
|
, "unicode_version": "6.0"
|
10752
11085
|
, "ios_version": "6.0"
|
10753
11086
|
}
|
11087
|
+
, {
|
11088
|
+
"emoji": "🛝"
|
11089
|
+
, "description": "playground slide"
|
11090
|
+
, "category": "Travel & Places"
|
11091
|
+
, "aliases": [
|
11092
|
+
"playground_slide"
|
11093
|
+
]
|
11094
|
+
, "tags": [
|
11095
|
+
]
|
11096
|
+
, "unicode_version": "14.0"
|
11097
|
+
, "ios_version": "15.4"
|
11098
|
+
}
|
10754
11099
|
, {
|
10755
11100
|
"emoji": "🎡"
|
10756
11101
|
, "description": "ferris wheel"
|
@@ -11332,6 +11677,18 @@
|
|
11332
11677
|
, "unicode_version": "5.2"
|
11333
11678
|
, "ios_version": "6.0"
|
11334
11679
|
}
|
11680
|
+
, {
|
11681
|
+
"emoji": "🛞"
|
11682
|
+
, "description": "wheel"
|
11683
|
+
, "category": "Travel & Places"
|
11684
|
+
, "aliases": [
|
11685
|
+
"wheel"
|
11686
|
+
]
|
11687
|
+
, "tags": [
|
11688
|
+
]
|
11689
|
+
, "unicode_version": "14.0"
|
11690
|
+
, "ios_version": "15.4"
|
11691
|
+
}
|
11335
11692
|
, {
|
11336
11693
|
"emoji": "🚨"
|
11337
11694
|
, "description": "police car light"
|
@@ -11409,6 +11766,19 @@
|
|
11409
11766
|
, "unicode_version": "4.1"
|
11410
11767
|
, "ios_version": "6.0"
|
11411
11768
|
}
|
11769
|
+
, {
|
11770
|
+
"emoji": "🛟"
|
11771
|
+
, "description": "ring buoy"
|
11772
|
+
, "category": "Travel & Places"
|
11773
|
+
, "aliases": [
|
11774
|
+
"ring_buoy"
|
11775
|
+
]
|
11776
|
+
, "tags": [
|
11777
|
+
"life preserver"
|
11778
|
+
]
|
11779
|
+
, "unicode_version": "14.0"
|
11780
|
+
, "ios_version": "15.4"
|
11781
|
+
}
|
11412
11782
|
, {
|
11413
11783
|
"emoji": "⛵"
|
11414
11784
|
, "description": "sailboat"
|
@@ -13408,6 +13778,18 @@
|
|
13408
13778
|
, "unicode_version": "11.0"
|
13409
13779
|
, "ios_version": "12.1"
|
13410
13780
|
}
|
13781
|
+
, {
|
13782
|
+
"emoji": "🪬"
|
13783
|
+
, "description": "hamsa"
|
13784
|
+
, "category": "Activities"
|
13785
|
+
, "aliases": [
|
13786
|
+
"hamsa"
|
13787
|
+
]
|
13788
|
+
, "tags": [
|
13789
|
+
]
|
13790
|
+
, "unicode_version": "14.0"
|
13791
|
+
, "ios_version": "15.4"
|
13792
|
+
}
|
13411
13793
|
, {
|
13412
13794
|
"emoji": "🎮"
|
13413
13795
|
, "description": "video game"
|
@@ -13497,6 +13879,20 @@
|
|
13497
13879
|
, "unicode_version": "13.0"
|
13498
13880
|
, "ios_version": "14.0"
|
13499
13881
|
}
|
13882
|
+
, {
|
13883
|
+
"emoji": "🪩"
|
13884
|
+
, "description": "mirror ball"
|
13885
|
+
, "category": "Activities"
|
13886
|
+
, "aliases": [
|
13887
|
+
"mirror_ball"
|
13888
|
+
]
|
13889
|
+
, "tags": [
|
13890
|
+
"disco"
|
13891
|
+
, "party"
|
13892
|
+
]
|
13893
|
+
, "unicode_version": "14.0"
|
13894
|
+
, "ios_version": "15.4"
|
13895
|
+
}
|
13500
13896
|
, {
|
13501
13897
|
"emoji": "🪆"
|
13502
13898
|
, "description": "nesting dolls"
|
@@ -14695,6 +15091,18 @@
|
|
14695
15091
|
, "unicode_version": "6.0"
|
14696
15092
|
, "ios_version": "6.0"
|
14697
15093
|
}
|
15094
|
+
, {
|
15095
|
+
"emoji": "🪫"
|
15096
|
+
, "description": "low battery"
|
15097
|
+
, "category": "Objects"
|
15098
|
+
, "aliases": [
|
15099
|
+
"low_battery"
|
15100
|
+
]
|
15101
|
+
, "tags": [
|
15102
|
+
]
|
15103
|
+
, "unicode_version": "14.0"
|
15104
|
+
, "ios_version": "15.4"
|
15105
|
+
}
|
14698
15106
|
, {
|
14699
15107
|
"emoji": "🔌"
|
14700
15108
|
, "description": "electric plug"
|
@@ -16442,6 +16850,18 @@
|
|
16442
16850
|
, "unicode_version": "12.0"
|
16443
16851
|
, "ios_version": "13.0"
|
16444
16852
|
}
|
16853
|
+
, {
|
16854
|
+
"emoji": "🩼"
|
16855
|
+
, "description": "crutch"
|
16856
|
+
, "category": "Objects"
|
16857
|
+
, "aliases": [
|
16858
|
+
"crutch"
|
16859
|
+
]
|
16860
|
+
, "tags": [
|
16861
|
+
]
|
16862
|
+
, "unicode_version": "14.0"
|
16863
|
+
, "ios_version": "15.4"
|
16864
|
+
}
|
16445
16865
|
, {
|
16446
16866
|
"emoji": "🩺"
|
16447
16867
|
, "description": "stethoscope"
|
@@ -16454,6 +16874,18 @@
|
|
16454
16874
|
, "unicode_version": "12.0"
|
16455
16875
|
, "ios_version": "13.0"
|
16456
16876
|
}
|
16877
|
+
, {
|
16878
|
+
"emoji": "🩻"
|
16879
|
+
, "description": "x-ray"
|
16880
|
+
, "category": "Objects"
|
16881
|
+
, "aliases": [
|
16882
|
+
"x_ray"
|
16883
|
+
]
|
16884
|
+
, "tags": [
|
16885
|
+
]
|
16886
|
+
, "unicode_version": "14.0"
|
16887
|
+
, "ios_version": "15.4"
|
16888
|
+
}
|
16457
16889
|
, {
|
16458
16890
|
"emoji": "🚪"
|
16459
16891
|
, "description": "door"
|
@@ -16697,6 +17129,18 @@
|
|
16697
17129
|
, "unicode_version": "11.0"
|
16698
17130
|
, "ios_version": "12.1"
|
16699
17131
|
}
|
17132
|
+
, {
|
17133
|
+
"emoji": "🫧"
|
17134
|
+
, "description": "bubbles"
|
17135
|
+
, "category": "Objects"
|
17136
|
+
, "aliases": [
|
17137
|
+
"bubbles"
|
17138
|
+
]
|
17139
|
+
, "tags": [
|
17140
|
+
]
|
17141
|
+
, "unicode_version": "14.0"
|
17142
|
+
, "ios_version": "15.4"
|
17143
|
+
}
|
16700
17144
|
, {
|
16701
17145
|
"emoji": "🪥"
|
16702
17146
|
, "description": "toothbrush"
|
@@ -16820,6 +17264,18 @@
|
|
16820
17264
|
, "unicode_version": "13.0"
|
16821
17265
|
, "ios_version": "14.0"
|
16822
17266
|
}
|
17267
|
+
, {
|
17268
|
+
"emoji": "🪪"
|
17269
|
+
, "description": "identification card"
|
17270
|
+
, "category": "Objects"
|
17271
|
+
, "aliases": [
|
17272
|
+
"identification_card"
|
17273
|
+
]
|
17274
|
+
, "tags": [
|
17275
|
+
]
|
17276
|
+
, "unicode_version": "14.0"
|
17277
|
+
, "ios_version": "15.4"
|
17278
|
+
}
|
16823
17279
|
, {
|
16824
17280
|
"emoji": "🏧"
|
16825
17281
|
, "description": "ATM sign"
|
@@ -18074,6 +18530,18 @@
|
|
18074
18530
|
, "unicode_version": "6.0"
|
18075
18531
|
, "ios_version": "6.0"
|
18076
18532
|
}
|
18533
|
+
, {
|
18534
|
+
"emoji": "🟰"
|
18535
|
+
, "description": "heavy equals sign"
|
18536
|
+
, "category": "Symbols"
|
18537
|
+
, "aliases": [
|
18538
|
+
"heavy_equals_sign"
|
18539
|
+
]
|
18540
|
+
, "tags": [
|
18541
|
+
]
|
18542
|
+
, "unicode_version": "14.0"
|
18543
|
+
, "ios_version": "15.4"
|
18544
|
+
}
|
18077
18545
|
, {
|
18078
18546
|
"emoji": "♾️"
|
18079
18547
|
, "description": "infinity"
|
data/lib/emoji/character.rb
CHANGED
@@ -11,6 +11,11 @@ module Emoji
|
|
11
11
|
# True if the emoji is not a standard Emoji character.
|
12
12
|
def custom?() !raw end
|
13
13
|
|
14
|
+
# True if the emoji supports Fitzpatrick scale skin tone modifiers
|
15
|
+
def skin_tones?() @skin_tones end
|
16
|
+
|
17
|
+
attr_writer :skin_tones
|
18
|
+
|
14
19
|
# A list of names uniquely referring to this emoji.
|
15
20
|
attr_reader :aliases
|
16
21
|
|
@@ -38,6 +43,21 @@ module Emoji
|
|
38
43
|
# Raw Unicode string for an emoji. Nil if emoji is non-standard.
|
39
44
|
def raw() unicode_aliases.first end
|
40
45
|
|
46
|
+
# Raw Unicode strings for each skin tone variant of this emoji.
|
47
|
+
def raw_skin_tone_variants
|
48
|
+
return [] if custom? || !skin_tones?
|
49
|
+
raw_normalized = raw.sub("\u{fe0f}", "") # strip VARIATION_SELECTOR_16
|
50
|
+
idx = raw_normalized.index("\u{200d}") # detect zero-width joiner
|
51
|
+
SKIN_TONES.map do |modifier|
|
52
|
+
if idx
|
53
|
+
# insert modifier before zero-width joiner
|
54
|
+
raw_normalized[0...idx] + modifier + raw_normalized[idx..nil]
|
55
|
+
else
|
56
|
+
raw_normalized + modifier
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
41
61
|
def add_unicode_alias(str)
|
42
62
|
unicode_aliases << str
|
43
63
|
end
|
@@ -54,6 +74,7 @@ module Emoji
|
|
54
74
|
@aliases = Array(name)
|
55
75
|
@unicode_aliases = []
|
56
76
|
@tags = []
|
77
|
+
@skin_tones = false
|
57
78
|
end
|
58
79
|
|
59
80
|
def inspect
|
@@ -76,6 +97,16 @@ module Emoji
|
|
76
97
|
end
|
77
98
|
|
78
99
|
private
|
100
|
+
|
101
|
+
SKIN_TONES = [
|
102
|
+
"\u{1F3FB}", # light skin tone
|
103
|
+
"\u{1F3FC}", # medium-light skin tone
|
104
|
+
"\u{1F3FD}", # medium skin tone
|
105
|
+
"\u{1F3FE}", # medium-dark skin tone
|
106
|
+
"\u{1F3FF}", # dark skin tone
|
107
|
+
]
|
108
|
+
|
109
|
+
private_constant :SKIN_TONES
|
79
110
|
|
80
111
|
def default_image_filename
|
81
112
|
if custom?
|
data/lib/emoji.rb
CHANGED
@@ -51,11 +51,12 @@ module Emoji
|
|
51
51
|
|
52
52
|
# Public: Find an emoji by its unicode character. Return nil if missing.
|
53
53
|
def find_by_unicode(unicode)
|
54
|
-
unicodes_index[unicode]
|
54
|
+
unicodes_index[unicode] || unicodes_index[unicode.sub(SKIN_TONE_RE, "")]
|
55
55
|
end
|
56
56
|
|
57
57
|
private
|
58
58
|
VARIATION_SELECTOR_16 = "\u{fe0f}".freeze
|
59
|
+
SKIN_TONE_RE = /[\u{1F3FB}-\u{1F3FF}]/
|
59
60
|
|
60
61
|
# Characters which must have VARIATION_SELECTOR_16 to render as color emoji:
|
61
62
|
TEXT_GLYPHS = [
|
@@ -70,7 +71,7 @@ module Emoji
|
|
70
71
|
"\u{3030}", # wavy dash
|
71
72
|
].freeze
|
72
73
|
|
73
|
-
private_constant :VARIATION_SELECTOR_16, :TEXT_GLYPHS
|
74
|
+
private_constant :VARIATION_SELECTOR_16, :TEXT_GLYPHS, :SKIN_TONE_RE
|
74
75
|
|
75
76
|
def parse_data_file
|
76
77
|
data = File.open(data_file, 'r:UTF-8') do |file|
|
@@ -118,6 +119,7 @@ module Emoji
|
|
118
119
|
emoji.description = dedup.call(raw_emoji[:description])
|
119
120
|
emoji.unicode_version = dedup.call(raw_emoji[:unicode_version])
|
120
121
|
emoji.ios_version = dedup.call(raw_emoji[:ios_version])
|
122
|
+
emoji.skin_tones = raw_emoji.fetch(:skin_tones, false)
|
121
123
|
end
|
122
124
|
end
|
123
125
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemoji
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Character information and metadata for Unicode emoji.
|
14
14
|
email: support@github.com
|
@@ -37,11 +37,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
37
37
|
version: '1.9'
|
38
38
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- - "
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: '0'
|
43
43
|
requirements: []
|
44
|
-
rubygems_version: 3.
|
44
|
+
rubygems_version: 3.3.7
|
45
45
|
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: Unicode emoji library
|