GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Beberapa Emoji B&w Dan Lainnya Terlalu Besar?

Saya menjalankan PureBrowser (~=Firefox ESR 52.8.0) di PureOS (~=Pengujian utama Debian) dan memiliki fonts-noto-color-emoji-0~20180424-2 terpasang.

Ketika saya mengunjungi https://en.wikipedia.org/wiki/List_of_Emojis saya mengamati bahwa:

  • beberapa emoji dirender dalam warna (seperti yang diharapkan)
  • beberapa emoji ditampilkan sebagai seni garis, bukan full-color
  • beberapa emoji ditampilkan dalam warna, tetapi terlalu besar
  • emoji yang hilang muncul sebagai "tahu" (seperti yang diharapkan)

Ini tetap ada setelah menjalankan fc-cache -f -v .

Jika saya menyalin dan menempelkan teks itu ke Editor Teks (gedit) emoji muncul seperti yang diharapkan (baik dalam warna pada ukuran biasa, atau sebagai tahu):

Mengapa ini terjadi, dan bagaimana cara memperbaikinya?

Jawaban yang Diterima:

Ada beberapa masalah yang berperan di sini:

  • Font sistem default adalah Deja Vu Sans, berisi emoji hitam dan putih.
  • Browser menggabungkan font khusus emojinya sendiri yang disebut EmojiOneMozilla.ttf (awalnya dibundel di Firefox, juga termasuk dalam garpu PureBrowser), ini berisi emoji warna. (Catatan:Karena perubahan lisensi, versi terbaru dari bundel Firefox Twemoji sebagai gantinya.)
  • Anda juga telah menginstal Noto Emoji, berisi emoji warna baru dengan gaya berbeda. Penskalaan font ini tidak ditangani dengan benar oleh versi Firefox tempat PureBrowser bercabang.

Saat karakter emoji ditemukan, browser memilih di antara ketiga font ini untuk memutuskan cara merendernya. Urutan di atas adalah urutan prioritas, yang kebetulan juga merupakan urutan peningkatan cakupan, jadi emoji lama/umum dirender di Deja Vu, emoji yang lebih baru di Emoji One, dan emoji mutakhir di Noto Emoji berskala buruk.

Solusi yang “benar” adalah dengan memperbaiki browser dan/atau Noto agar penskalaan emoji Noto di browser sudah benar. Selain itu, perbarui petunjuk font sehingga simbol emoji warna lebih disukai daripada font default sistem. Menyelesaikan masalah ini tidak sepele. Sebagai permulaan, lihat:

  • https://github.com/googlei18n/noto-emoji/issues/36
  • https://superuser.com/questions/1111369
  • https://github.com/eosrei/emojione-color-font/issues/17

Sementara itu, satu solusi adalah mengganti EmojiOneMozilla.tff dengan font emoji warna yang skalanya benar dan memiliki cakupan simbol yang sama atau lebih baik daripada Noto:

  • Unduh rilis Twemoji/eosrei terbaru dari https://github.com/eosrei/twemoji-color-font/releases (dalam format zip)
  • Ekstrak TwitterColorEmoji-SVGinOT.ttf
  • Hapus /usr/lib/purebrowser/fonts/EmojiOneMozilla.ttf
  • Salin TwitterColorEmoji-SVGinOT.ttf ke dalam folder itu

Sekarang simbol emoji Noto tidak muncul, karena Twemoji TTF memiliki cakupan emoji yang sama. Jika cakupan Noto meningkat dan paket Noto Anda diperbarui, masalah akan berulang untuk simbol emoji baru. Pada saat itu, Anda harus menunggu rilis Twemoji/eosrei baru dan menerapkan kembali solusinya.

Terkait:Bagaimana cara membuat Bilah Aktivitas Shell GNOME kecil sepanjang waktu?

Jika paket PureBrowser Anda diperbarui, mungkin akan menambahkan kembali EmojiOneMozilla.ttf, dalam hal ini Anda harus menghapusnya lagi. Ini dapat menghapus TwitterColorEmoji-SVGinOT.ttf, dalam hal ini Anda harus menambahkannya kembali.


Linux
  1. Hashing Kata Sandi Dan Mengapa Kami Membutuhkannya

  2. Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

  3. Pam_unix2 / Mengapa Tidak Ada Di Beberapa Distribusi?

  1. Mengapa file .so dapat dieksekusi?

  2. Mengapa dan bagaimana beberapa pustaka bersama dapat dijalankan, seolah-olah dapat dieksekusi?

  3. Mengapa nomor panggilan sistem Linux di x86 dan x86_64 berbeda?

  1. Mengapa Variabel Path Berbeda Saat Menjalankan Via Sudo Dan Su?

  2. $bashpid Dan $$ Berbeda Dalam Beberapa Kasus?

  3. Mengapa `make clean` dan `make mrproper` keduanya digunakan?