J'utilise PureBrowser (~=Firefox ESR 52.8.0) sur PureOS (~=Debian main testing) et j'ai fonts-noto-color-emoji-0~20180424-2
installé.
Lorsque je visite https://en.wikipedia.org/wiki/List_of_Emojis, j'observe que :
- certains emoji sont rendus en couleur (comme prévu)
- certains emoji s'affichent sous forme de dessin au trait plutôt qu'en couleur
- certains emoji s'affichent en couleur, mais sont beaucoup trop gros
- les emoji manquants apparaissent comme "tofu" (comme prévu)
Cela persiste après l'exécution de fc-cache -f -v
.
Si je copie et colle ce texte dans l'éditeur de texte (gedit), les emoji apparaissent comme prévu (soit en couleur à une taille normale, soit en tofu) :
Pourquoi cela se produit-il et comment puis-je y remédier ?
Réponse acceptée :
Plusieurs problèmes sont en jeu :
- La police système par défaut est Deja Vu Sans, elle contient les emoji en noir et blanc.
- Le navigateur contient sa propre police spécifique aux emoji appelée
EmojiOneMozilla.ttf
(fourni à l'origine dans Firefox, également inclus dans le fork PureBrowser), il contient des emoji de couleur. (Sidenote :en raison de changements de licence, les versions récentes du bundle FirefoxTwemoji
à la place.) - Vous avez également installé Noto Emoji, il contient de nouveaux emoji de couleur dans un style différent. La mise à l'échelle de cette police n'est pas gérée correctement par la version de Firefox à partir de laquelle PureBrowser est dérivé.
Lorsqu'un caractère emoji est rencontré, le navigateur choisit entre ces trois polices pour décider comment les rendre. L'ordre ci-dessus est l'ordre de priorité, qui se trouve également être un ordre de couverture croissante, de sorte que les emoji plus anciens / communs sont rendus dans Deja Vu, les emoji plus récents dans Emoji One et les emoji de pointe dans Noto Emoji mal mis à l'échelle.
La "bonne" solution consiste à corriger le navigateur et/ou Noto afin que la mise à l'échelle des emoji Noto dans le navigateur soit correcte. De plus, mettez à jour l'indication de police afin que les symboles emoji de couleur soient préférés à la police par défaut du système. La résolution de ces problèmes n'est pas triviale. Pour commencer, voir :
- https://github.com/googlei18n/noto-emoji/issues/36
- https://superuser.com/questions/1111369
- https://github.com/eosrei/emojione-color-font/issues/17
En attendant, une solution consiste à remplacer EmojiOneMozilla.tff
avec une police emoji couleur qui s'adapte correctement et a une couverture de symboles égale ou meilleure que Noto :
- Téléchargez la dernière version de Twemoji/eosrei sur https://github.com/eosrei/twemoji-color-font/releases (au format zip)
- Extraire
TwitterColorEmoji-SVGinOT.ttf
- Supprimez
/usr/lib/purebrowser/fonts/EmojiOneMozilla.ttf
- Copier
TwitterColorEmoji-SVGinOT.ttf
dans ce dossier
Maintenant, les symboles emoji Noto n'apparaissent pas, car le Twemoji TTF a une couverture emoji égale. Si la couverture Noto s'améliore et que votre package Noto est mis à jour, le problème se reproduira pour tous les nouveaux symboles emoji. À ce stade, vous devrez attendre une nouvelle version de Twemoji/eosrei et réappliquer la solution de contournement.
En relation:Comment rendre la barre d'activités GNOME Shell petite tout le temps?Si votre package PureBrowser est mis à jour, il peut rajouter EmojiOneMozilla.ttf, auquel cas vous devrez le supprimer à nouveau. Il peut supprimer TwitterColorEmoji-SVGinOT.ttf, auquel cas vous devrez le rajouter.