Proyek ini menyediakan data yang mudah diarahkan tentang emoji, bersama dengan gambar bergaya spritesheet untuk digunakan di web.
Versi saat ini mendukung Emoji Versi 15.1 (September 2023)
Anda dapat melihat katalog data emoji di sini: http://projects.iamcal.com/emoji-data/table.htm
Repo Git cukup besar (hampir 4GB), tetapi berisi segalanya. Jika Anda ingin menggunakan npm
, Anda dapat:
npm install emoji-datasource
Ini hanya akan menginstal spritesheets full-fidelity 32px (dengan gambar fallback). Jika Anda menginginkan lembar ukuran yang berbeda (16, 20 atau 64px), lembar terkuantisasi (128 atau 256 warna), lembaran non-fallback (bersih), atau gambar individual (pada 64px) maka Anda harus menginstal modul NPM tambahan:
npm install emoji-datasource-apple
npm install emoji-datasource-google
npm install emoji-datasource-twitter
npm install emoji-datasource-facebook
Anda juga dapat menggunakannya tanpa mengunduh melalui JSDELIVR CDN (berbagai ukuran di sini).
File yang Anda inginkan adalah emoji.json
. Ini berisi serangkaian entri untuk emoji yang terlihat seperti ini:
[
{
"name" : " WHITE UP POINTING INDEX " ,
"unified" : " 261D-FE0F " ,
"non_qualified" : " 261D " ,
"docomo" : null ,
"au" : " E4F6 " ,
"softbank" : " E00F " ,
"google" : " FEB98 " ,
"image" : " 261d.png " ,
"sheet_x" : 1 ,
"sheet_y" : 2 ,
"short_name" : " point_up " ,
"short_names" : [
" point_up "
],
"text" : null ,
"texts" : null ,
"category" : " People & Body " ,
"subcategory" : " hand-single-finger " ,
"sort_order" : 170 ,
"added_in" : " 1.4 " ,
"has_img_apple" : true ,
"has_img_google" : true ,
"has_img_twitter" : true ,
"has_img_facebook" : false ,
"skin_variations" : {
"1F3FB" : {
"unified" : " 261D-1F3FB " ,
"image" : " 261d-1f3fb.png " ,
"sheet_x" : 1 ,
"sheet_y" : 3 ,
"added_in" : " 6.0 " ,
"has_img_apple" : true ,
"has_img_google" : false ,
"has_img_twitter" : false ,
"has_img_facebook" : false ,
}
...
"1F3FB-1F3FC" : {
...
}
},
"obsoletes" : " ABCD-1234 " ,
"obsoleted_by" : " 5678-90EF "
},
...
]
Arti dari setiap bidang adalah sebagai berikut:
Bidang | Keterangan |
---|---|
name | Nama unicode resmi, di Shouty huruf besar. |
unified | Unicode codepoint, sebagai 4-5 digit hex. Di mana emoji membutuhkan 2 atau lebih titik codepoints, mereka ditentukan seperti 1F1EA-1F1F8. Untuk emoji yang perlu menentukan pemilih variasi (-fe0f), yang termasuk di sini. |
non_qualified | Untuk emoji yang juga memiliki penggunaan tanpa pemilih variasi, versi itu termasuk di sini (jika tidak null). |
docomo , au ,softbank , google | Codepoints unicode warisan yang digunakan oleh berbagai vendor seluler. |
image | Nama file gambar. |
sheet_x , sheet_y | Posisi gambar di spritesheets. |
short_name | Yang umum disetujui atas nama pendek untuk gambar, sebagaimana didukung di api unggun, github dll melalui: colon-syntax: |
short_names | Serangkaian semua nama pendek yang diketahui. |
text | Versi emoji ASCII (misalnya :) ), atau nol di mana tidak ada. |
texts | Sejumlah emoji ASCII yang harus dikonversi menjadi emoji ini. Setiap emoji ASCII hanya akan muncul melawan entri emoji tunggal. |
category , subcategory | Nama grup kategori dan sub-kategori. |
sort_order | Indeks penyortiran global untuk semua emoji, berdasarkan pemesanan Unicode CLDR. |
added_in | Versi emoji di mana codepoint/urutan ini ditambahkan (sebelumnya versi unicode). |
has_img_* | Bendera untuk apakah set gambar yang diberikan memiliki gambar (dinamai oleh prop gambar) yang tersedia. |
skin_variations | Untuk emoji dengan beberapa variasi warna kulit, daftar mesin terbang alternatif, dikunci oleh warna kulit. Untuk emoji yang mendukung beberapa warna kulit dalam satu emoji, setiap warna kulit dipisahkan oleh karakter dasbor. |
obsoletes , obsoleted_by | Emoji yang tidak lagi digunakan, lebih preferensi versi gender. |
Untuk setiap set gambar (Apple, Google, dll) kami menghasilkan beberapa "sprite sheet" yang berbeda - gambar besar dari semua emoji yang dijahit bersama.
Every emoji image in the sheet has a 1 pixel transparent border around it, so the 64px sheet is really made up of 66px squares, while the 16px sheet is really made up of 18px squares, etc. You can find the position of any given image pada lembar menggunakan properti sheet_x
dan sheet_y
, sebagai berikut:
x = (sheet_x * (sheet_size + 2)) + 1;
y = (sheet_y * (sheet_size + 2)) + 1;
Di dalam repo git Anda akan menemukan beberapa lembar di direktori root dan beberapa di sheets-indexed-128
, sheets-indexed-256
dan direktori sheets-clean
. Dalam paket NPM, Anda akan menemukannya di bawah jalur img/{$set}/sheets*
. Misalnya:
Repo git | Paket NPM |
---|---|
/sheet_apple_16.png | /mg/apple/sheets/16.png |
/sheets-indexed-128/sheet_apple_16_indexed_128.png | /mg/apple/sheets-128/16.png |
/sheets-lean/sheet_apple_16_clean.png | /mg/apple/sheets-clean/16.png |
Dalam contoh -contoh ini, set gambar berasal dari Apple dan gambarnya 16px di sisi. Lembar di baris atas adalah warna 24 bit, sedangkan lembaran di baris tengah menggunakan palet warna yang diindeks dengan hanya 128 warna. Ini membuat citra jauh lebih kecil, tetapi berkorban banyak kualitas. Baik 128 warna dan 256 lembar warna disediakan. Lembar di baris bawah tidak mengandung fallback untuk gambar yang hilang, sehingga lembar Google hanya berisi gambar Google (dan tidak ada Fallbacks Apple). Ini berarti bahwa beberapa gambar diganti dengan karakter fallback (tanda tanya), tetapi hak penggunaannya lebih sederhana.
Lihat perubahan.md
Gambar diekstraksi dari sumbernya dan perpustakaan ini berupaya melacak versi terbaru yang tersedia. Jika Anda mencari versi Apple atau Android yang lebih lama (seperti hati berbulu) maka Anda harus melihat revisi sebelumnya.
Set gambar | Versi Sumber | Emoji yang didukung | Gambar yang hilang |
---|---|---|---|
Apel | iOS 17.4 Beta | Emoji 15.1 | 3 |
Noto Emoji, v2.042 | Emoji 15.1 | 0 | |
Twemoji (garpu), v15.0.3 | Emoji 15.0 | 118 | |
V9, diambil 2024-02-05 | Emoji 15.0 | 142 |
Jika Anda menggunakan gambar spritesheet dan khawatir tentang hak penggunaan, silakan gunakan versi 'bersih', yang menghindari menggunakan gambar fallback untuk emoji yang hilang (lihat bagian spritesheet di atas untuk detail lebih lanjut).