Ich verwende PureBrowser (~=Firefox ESR 52.8.0) auf PureOS (~=Debian-Haupttest) und habe fonts-noto-color-emoji-0~20180424-2
installiert.
Wenn ich https://en.wikipedia.org/wiki/List_of_Emojis besuche, bemerke ich Folgendes:
- einige Emoji werden in Farbe gerendert (wie erwartet)
- Einige Emojis werden als Strichzeichnungen und nicht in Vollfarbe dargestellt
- Einige Emojis werden farbig dargestellt, sind aber viel zu groß
- Fehlende Emojis erscheinen als „Tofu“ (wie erwartet)
Dies bleibt nach dem Ausführen von fc-cache -f -v
bestehen .
Wenn ich diesen Text kopiere und in den Texteditor (gedit) einfüge, erscheint das Emoji wie erwartet (entweder in Farbe in normaler Größe oder als Tofu):
Warum passiert das und wie kann ich es beheben?
Akzeptierte Antwort:
Hier spielen mehrere Probleme eine Rolle:
- Die Standard-Systemschriftart ist Deja Vu Sans, sie enthält das schwarz-weiße Emoji.
- Der Browser bündelt seine eigene Emoji-spezifische Schriftart namens
EmojiOneMozilla.ttf
(ursprünglich in Firefox gebündelt, auch in der PureBrowser-Fork enthalten), enthält es farbige Emojis. (Nebenbemerkung:Aufgrund von Lizenzänderungen bündeln neuere Versionen von FirefoxTwemoji
stattdessen.) - Sie haben auch Noto Emoji installiert, es enthält neuere Farb-Emoji in einem anderen Stil. Die Skalierung dieser Schriftart wird von der Firefox-Version, von der PureBrowser abgezweigt wurde, falsch gehandhabt.
Wenn ein Emoji-Zeichen gefunden wird, wählt der Browser zwischen diesen drei Schriftarten aus, um zu entscheiden, wie sie dargestellt werden. Die obige Reihenfolge ist die Reihenfolge der Priorität, die zufällig auch eine Reihenfolge der zunehmenden Abdeckung ist, sodass ältere/allgemeine Emojis in Deja Vu, neuere Emojis in Emoji One und topaktuelle Emojis in schlecht skalierten Noto-Emojis gerendert werden.
Die „richtige“ Lösung besteht darin, den Browser und/oder Noto so zu reparieren, dass die Skalierung von Noto-Emoji im Browser korrekt ist. Aktualisieren Sie außerdem die Schriftarthinweise, sodass farbige Emoji-Symbole gegenüber der Standardschriftart des Systems bevorzugt werden. Die Lösung dieser Probleme ist nicht trivial. Für den Anfang siehe:
- https://github.com/googlei18n/noto-emoji/issues/36
- https://superuser.com/questions/1111369
- https://github.com/eosrei/emojione-color-font/issues/17
In der Zwischenzeit besteht eine Problemumgehung darin, EmojiOneMozilla.tff
zu ersetzen mit einer farbigen Emoji-Schriftart, die korrekt skaliert wird und eine gleiche oder bessere Symbolabdeckung als Noto hat:
- Laden Sie die neueste Version von Twemoji/eosrei von https://github.com/eosrei/twemoji-color-font/releases herunter (im ZIP-Format)
- Extrahieren Sie
TwitterColorEmoji-SVGinOT.ttf
- Löschen Sie
/usr/lib/purebrowser/fonts/EmojiOneMozilla.ttf
- Kopieren Sie
TwitterColorEmoji-SVGinOT.ttf
in diesen Ordner
Jetzt erscheinen die Noto-Emoji-Symbole nicht, da das Twemoji-TTF die gleiche Emoji-Abdeckung hat. Wenn sich die Noto-Abdeckung verbessert und Ihr Noto-Paket aktualisiert wird, tritt das Problem bei allen neuen Emoji-Symbolen erneut auf. An diesem Punkt müssen Sie auf eine neue Version von Twemoji/eosrei warten und die Problemumgehung erneut anwenden.
Verwandte:Wie kann man die GNOME-Shell-Aktivitätsleiste immer klein machen?Wenn Ihr PureBrowser-Paket aktualisiert wird, fügt es möglicherweise EmojiOneMozilla.ttf erneut hinzu, in diesem Fall müssen Sie es erneut löschen. Es kann TwitterColorEmoji-SVGinOT.ttf entfernen, in diesem Fall müssen Sie es erneut hinzufügen.