GNU/Linux >> Znalost Linux >  >> Linux

Proč jsou některé Emoji černobílé a jiné příliš velké?

Používám PureBrowser (~=Firefox ESR 52.8.0) na PureOS (~=hlavní testování Debianu) a mám fonts-noto-color-emoji-0~20180424-2 nainstalováno.

Když navštívím https://en.wikipedia.org/wiki/List_of_Emojis, pozoruji, že:

  • některé emotikony se vykreslí barevně (podle očekávání)
  • některé emotikony se vykreslují jako čárová grafika, nikoli jako plnobarevná
  • některé emotikony se vykreslují barevně, ale jsou příliš velké
  • chybějící emotikony se zobrazí jako „tofu“ (podle očekávání)

Toto přetrvává i po spuštění fc-cache -f -v .

Pokud tento text zkopíruji a vložím do textového editoru (gedit), emotikony se zobrazí podle očekávání (buď barevně v běžné velikosti, nebo jako tofu):

Proč se to děje a jak to mohu opravit?

Přijatá odpověď:

Zde je ve hře několik problémů:

  • Výchozí systémové písmo je Deja Vu Sans, obsahuje černobílé emotikony.
  • Prohlížeč obsahuje vlastní písmo specifické pro emodži s názvem EmojiOneMozilla.ttf (původně přibaleno ve Firefoxu, zahrnuto také ve forku PureBrowser), obsahuje barevné emotikony. (Poznámka:Kvůli změnám licencí obsahují nejnovější verze Firefoxu balíček Twemoji místo toho.)
  • Nainstalovali jste také Noto Emoji, obsahuje novější barevné emotikony v jiném stylu. Změna měřítka tohoto písma je nesprávně zpracována verzí Firefoxu, ze kterého je PureBrowser vytvořen.

Když narazí na znak emoji, prohlížeč vybírá mezi těmito třemi fonty, aby se rozhodl, jak je vykreslit. Výše uvedené pořadí je pořadím priority, které je shodou okolností také pořadím zvyšujícího se pokrytí, takže starší/běžné emotikony se vykreslují v Deja Vu, novější emotikony v Emoji One a nejmodernější emotikony ve špatně zmenšeném Noto Emoji.

„Správným“ řešením je opravit prohlížeč a/nebo Noto tak, aby škálování emotikonů Noto v prohlížeči bylo správné. Kromě toho aktualizujte nápovědu písem tak, aby byly barevné symboly emotikony upřednostňovány před výchozím písmem systému. Řešení těchto problémů není triviální. Pro začátek viz:

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

Mezitím je jedním řešením nahradit EmojiOneMozilla.tff s barevným písmem emoji, které se správně mění a má stejné nebo lepší pokrytí symbolů než Noto:

  • Stáhněte si nejnovější verzi Twemoji/eosrei z https://github.com/eosrei/twemoji-color-font/releases (ve formátu zip)
  • Extrahujte TwitterColorEmoji-SVGinOT.ttf
  • Smazat /usr/lib/purebrowser/fonts/EmojiOneMozilla.ttf
  • Zkopírujte TwitterColorEmoji-SVGinOT.ttf do této složky

Nyní se symboly emoji Noto nezobrazují, protože Twemoji TTF má stejné pokrytí emotikonů. Pokud se pokrytí Noto zlepší a váš balíček Noto bude aktualizován, problém se bude opakovat u všech nových symbolů emoji. V tu chvíli budete muset počkat na nové vydání Twemoji/eosrei a znovu použít náhradní řešení.

Související:Jak udělat panel aktivit prostředí GNOME neustále malý?

Pokud se váš balíček PureBrowser aktualizuje, může znovu přidat EmojiOneMozilla.ttf, v takovém případě jej budete muset znovu smazat. Může odstranit TwitterColorEmoji-SVGinOT.ttf, v takovém případě jej budete muset znovu přidat.


Linux
  1. Hašování hesel a proč to potřebujeme

  2. Linux – proč používáme Su – a nejen Su?

  3. $bashpid a $$ se v některých případech liší?

  1. Pam_unix2 / Proč u některých distribucí neexistuje?

  2. Proč jsou některé porty hlášeny Nmapem filtrovány a ostatní ne?

  3. Proč Deis a co to je?

  1. V jakých jazycích jsou napsány Windows, Mac OS X a Linux?

  2. Proč se telefonní čísla systému Linux v x86 a x86_64 liší?

  3. Proč se používá jak `make clean`, tak `make mrproper`?