Saya menemukan Unicode untuk karakter khusus dari pencarian FileFormat.Info .
Beberapa karakter ditampilkan sebagai mesin terbang hitam-putih klasik, seperti ⚠ (tanda peringatan, \u26A0
atau ⚠
). Ini lebih disukai, karena saya bisa menerapkan gaya CSS (seperti warna) padanya.
Yang lain dirender sebagai emoji kartun yang lebih baru, seperti ⌛ (jam pasir, \u231B
atau ⌛
). Ini tidak disukai, karena saya tidak bisa sepenuhnya menatanya.
Tampaknya browser melakukan perubahan ini, karena saya dapat melihat simbol jam pasir di Mac Firefox, bukan Mac Chrome atau Mac Safari.
Apakah ada cara untuk memaksa browser menampilkan versi lama (monoton datar) untuk ditampilkan?
Update : Tampaknya (dari komentar di bawah ini) ada pemilih presentasi teks , FE0E
, tersedia untuk menegakkan teks-vs-emoji. Selektor ini digabungkan sebagai sufiks tanpa spasi pada kode karakter, seperti ⌛︎
untuk hex HTML atau \u231B\uFE0E
untuk JS. Namun, ini tidak diterapkan oleh semua browser (misalnya Chrome dan Edge).
︎
dan\uFE0E
benar (2 dan 8) dan berfungsi dengan baik di Safari (8 dan 9), tetapi seperti jawabannya: dukungan browser tidak stabil, dan Chrome (46) benar-benar rusak.Jawaban:
Tambahkan karakter pemilih variasi Unicode untuk memaksa teks, VS15
︎
,.Ini memaksa karakter sebelumnya untuk dirender sebagai teks daripada sebagai Simbol Emoji.
Hasil: 🔒︎
Pelajari lebih lanjut di: Simbol unicode sebagai teks atau emoji
sumber
︎
trik ini tidak berfungsi untuk saya untuk font tertentu. Saya mengalami kesulitan menemukan font yang secara wajar dapat saya perkirakan untuk diinstal pada semua mesin (Windows, iOS, Mac, Android, dll).Saya memiliki karakter Unicode di
content
dari aspan::before
, dan saya memilikifont-family
karakterspan
set untuk "Segoe UI Symbol". Tapi Chrome menggunakan "Segoe UI Emoji" sebagai font untuk merendernya.Namun, ketika saya menyetel
font-family
ke "Segoe UI Symbol" secara eksplisit untukspan::before
, bukan hanya untukspan
, maka itu berhasil.sumber
Untuk solusi khusus CSS untuk mencegah iOS menampilkan emoji, Anda dapat menggunakan
font-family: monospace
default untuk varian teks mesin terbang daripada varian emoji.sumber
Font Android tidak kaya seperti yang Anda harapkan. File font tidak memiliki mesin terbang eksotis ini dan Android memiliki retasan untuk beberapa karakter tanpa mesin terbang. Mereka diganti dengan ikon.
Jadi solusinya adalah mengintegrasikan situs dengan font web (woff). Buat file font baru dengan FontForge dan pilih mesin terbang yang diperlukan dari serif TTF gratis misalnya. Setiap mesin terbang membutuhkan 1k. Hasilkan file woff.
Siapkan CSS sederhana untuk mengimpor keluarga font khusus.
style.css:
file index.html:
sumber
Jika perhatian utama Anda adalah memaksa tampilan monokromatik sehingga emoji tidak terlalu menonjol dari teks, filter CSS, baik sendiri atau dikombinasikan dengan pemilih variasi Unicode, mungkin adalah sesuatu yang Anda inginkan.
Berbeda dengan pemilih variasi, tidak masalah bagaimana emoji ditampilkan, karena filter CSS berlaku untuk semuanya. (Saya menggunakannya untuk ikon "jenis tautan" format PNG skala abu-abu pada hyperlink yang telah dimodifikasi untuk mengarah ke Mesin Wayback.)
Pikirkan saja peringatannya . Anda tidak dapat mengganti filter elemen induk pada anak, jadi teknik ini tidak dapat digunakan untuk membuat paragraf menjadi abu-abu, lalu mewarnai ulang tautan di dalamnya. 😢
... tetap saja, ini berguna untuk situasi di mana Anda akan menjadikan semuanya sebagai hyperlink atau melarang markup kaya di dalamnya. (mis. judul dan deskripsi)
Namun, ini tidak akan berfungsi kecuali CSS benar-benar diterapkan, jadi saya akan memberikan opsi kedua yang lebih dapat diandalkan dalam
<title>
elemen daripada pemilih variasi Unicode (Saya melihat Anda GitHub. Saya tidak suka ikon palsu di tab browser):Jika Anda memasukkan string yang disediakan pengguna ke dalam
<title>
elemen, filter emoji tersebut dengan huruf tebal / miring / garis bawah / dll. markup. (Ya, bagi mereka yang melewatkannya, standar memang meminta konten<title>
menjadi teks biasa selain dari ampersand escapes dan browser yang saya uji semua menafsirkan tag di dalamnya sebagai teks literal.)Dua cara yang bisa saya pikirkan adalah:
emoji
paket untuk database, tetapi Rust adalah contoh yang baik dari bahasa di mana pengulangan kelompok grafem cepat dan mudah melalui peti sepertiunicode-segmentation
.)sumber
Google Chrome, versi desktop 75, tampaknya menghilangkan ambiguitas pendekatannya untuk merender karakter Unicode berdasarkan pelolosan Unicode pertama yang ditemuinya saat memuat laman. Misalnya, ketika diurai sebagai pelolosan Unicode HTML pertama di sumber laman, dan tidak memiliki emoji yang setara, & # 9207; tampaknya memperjelas Chrome bahwa laman tersebut berisi pelarian untuk tidak dirender sebagai emoji.
sumber
Memperluas jawaban ssokolow , menggunakan filter itu bagus dan setidaknya membuat kontur terlihat daripada menggunakan font sederhana, tetapi mengubah warna RGB menjadi urutan filter CSS sangat sulit ketika Anda ingin menggunakan warna tertentu.
Pilihan yang lebih baik (meskipun cukup bertele-tele) adalah menggunakan
<feColorMatrix>
filter SVG. Dikombinasikan dengan filter grayscale dan skema URI data, Anda dapat merepresentasikan warna melalui RGB dan CSS sebaris:Sayangnya, Anda tidak dapat menginterpolasi URL dengan data (diambil dari atribut atau variabel), tetapi setidaknya Anda tidak harus menghitung filter CSS dari RGB.
sumber
Saya tidak tahu cara mematikan rendering jenis emoji. Biasanya saya menggunakan icon font seperti font awesome atau glyphicons (dilengkapi dengan Bootstrap 3).
Manfaat menggunakan ini selama karakter unicode adalah itu
Satu-satunya downside adalah bahwa itu satu hal lagi bagi browser untuk mendownload ketika mereka melihat halaman Anda.
sumber
Bagi saya di OSX, solusinya adalah mengatur font-family ke
EmojiSymbols
sumber
Tak satu pun dari solusi di atas berfungsi untuk Ekstensi "Emoji untuk Google Chrome".
Jadi sebagai solusinya saya membuat tangkapan layar dari Karakter Unicode 'BALLOT BOX WITH CHECK' (U + 2611) dan menambahkannya sebagai gambar dengan php:
Lihat: https://spacetrace.org/man_card.php?tec_id=21&techname=multi-emp-vessel
sumber