18.04: kolorowe emoji w ogóle nie pojawiają się w Chrome, tylko częściowo w Firefox

24

Uaktualniłem z 17.10 do 18.04 i liczyłem na lepszą obsługę emoji. W rezultacie Chrome (66) nadal używa starej czarno-białej czcionki emoji, a Firefox (59) potrafi wyświetlać niektóre kolorowe emoji, ale nie inne. Poradziłem sobie, aby zainstalować czcionkę EmojiOne, ale to nie pomogło 😓

Zrzuty ekranu ze strony demonstracyjnej emoji na http://eosrei.github.io/emojione-color-font/full-demo.html :

Chrom: wprowadź opis zdjęcia tutaj

Firefox: wprowadź opis zdjęcia tutaj

N3dst4
źródło

Odpowiedzi:

16

Na Ubuntu 18.04+ można teraz wystarczy zainstalować jeden pakiet: fonts-noto-color-emoji. Następnie uruchom ponownie Chrome, a zacznie obowiązywać. Nie ma potrzeby tworzenia ręcznej konfiguracji czcionek.

Ten pakiet powinien zostać zainstalowany na zwykłym pulpicie Ubuntu 18.04+ (na „zalecanym” poziomie zależności - sprawdź sam z apt rdepends fonts-noto-color-emoji). Niektóre inne smaki, takie jak Kubuntu (KDE), nie mają tego domyślnie i wymagają ręcznej instalacji.

gertvdijk
źródło
3
To mi nie zadziałało. Używam Ubuntu 18.04 z Chrome v71 z oficjalnego repozytorium Google. Druga odpowiedź załatwiła sprawę.
undercat obsługuje Monikę
34

Naprawiłem to - musiałem postępować zgodnie z tymi instrukcjami od 2016 roku 😧 Musiałem utworzyć ~/.config/fontconfig/conf.d/01-emoji.confz następującym tekstem:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Color Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Noto Color Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Noto Color Emoji</family>
    </prefer>
  </alias>
</fontconfig>

Nieco niepotrzebny był fragment oryginalnej instrukcji instalacji czcionki Noto, ponieważ jest ona domyślnie instalowana jako część 18.04.

Następnie uruchomić:

fc-cache -f -v

Przy następnym uruchomieniu Chrome ma kolorowe emoji.

N3dst4
źródło
-1, z dwóch powodów: 1) lokalny fontconfig nie jest już wymagany w 18.04. 2) „Instalowanie czcionki Noto nie było konieczne, ponieważ jest ona domyślnie instalowana jako część 18.04”. Nie jest to prawda. Mam pełną instalację pulpitu KDE i wcale nie została zainstalowana. Zobacz także moją odpowiedź .
gertvdijk
2
Czy wiesz, czy dotyczy to również aktualizacji? Wyczułem, że moje problemy mogły mieć związek z aktualizacją do wersji 17.10.
N3dst4
2
Używam Kubuntu 18.04 i po zainstalowaniu czcionek Noto nadal miałem ten sam problem. To mi jednak pomogło. Niestety nie jestem pewien, czy to plik konfiguracji, czy po prostu wywołanie „fc-cache”, które spowodowało zmianę. Może oba były potrzebne.
andypotter
To naprawiło emoji w Chrome, ale niestety zepsuło je w Anki . 😞 Ostatecznie musiałem całkowicie to cofnąć, aby uniknąć skutków ubocznych.
undercat obsługuje Monikę
2

Wygląda na to, że ten problem może być spowodowany zainstalowaniem wielu niezgodnych czcionek emoji i / lub wyborem niewłaściwej domyślnej czcionki w Chrome.

  1. Upewnij się, że masz fonts-noto-color-emojizainstalowany pakiet.

    sudo apt install fonts-noto-color-emoji
    
  2. Utwórz / edytuj pliki konfiguracyjne czcionek jak w odpowiedzi @ N3dst4 .

    • Uwaga: Podczas gdy @ N3dst4 umieścił swój plik konfiguracyjny ~/.config/fontconfig/conf.d/01-emoji.conf, ja wstawiłem mój z ~/.config/font-manager/local.confpowodu konfiguracji mojego systemu.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
      <alias>
        <family>serif</family>
        <prefer>
          <family>Noto Color Emoji</family>
        </prefer>
      </alias>
      <alias>
        <family>sans-serif</family>
        <prefer>
          <family>Noto Color Emoji</family>
        </prefer>
      </alias>
      <alias>
        <family>monospace</family>
        <prefer>
          <family>Noto Color Emoji</family>
        </prefer>
      </alias>
    </fontconfig>
    
  3. Ustaw domyślne czcionki w Chrome na odmiany „Noto”.

  4. Odbuduj pamięć podręczną czcionek + uruchom ponownie chrome.

    fc-cache -f -v
    
  5. Jeśli emoji nadal nie są wyświetlane poprawnie, sprawdź, jakie czcionki są używane do ich renderowania right click on emoji -> Inspect -> Computed -> Rendered Fontsi odinstaluj je.

    • Przykład: Moje emoji były renderowane czcionką Twitter Color Emoji, więc musiałem odinstalować pakiet fonts-twemoji-svginot.
    • Może nie być konieczne odinstalowanie czcionek, jeśli grasz więcej z plikami konfiguracji czcionek, ale ja tego nie testowałem.
    • Nie zapomnij odbudować pamięci podręcznej czcionek + uruchom ponownie chrome po odinstalowaniu czcionek.

BTW to również naprawiło dla mnie tekst Zalgo .

Jiří Kuneš
źródło
1

Nie używaj tej strony demonstracyjnej do testowania kolorowych emoji. Ta strona pokazuje tylko czcionkę EmojiOne, która nie jest domyślnie instalowana w Ubuntu (chociaż Firefox używa jej odmiany).

Zamiast tego użyj https://unicode.org/emoji/charts/full-emoji-list.html

Spójrz na kolumnę przeglądarki. Domyślnie Ubuntu powinien w większości pasować do kolumny Google. (Z wyjątkiem kolumny Przeglądarka, wszystkie pozostałe kolumny są tylko .pngikonami). Kiedy dzisiaj testowałem, kolumna Google jest trochę nieaktualna, ponieważ Google wprowadziło pewne zmiany w niektórych swoich emoji, które nie zostały włączone do witryny. (Na przykład hamburger ma ser na burgerze.)

Jeremy Bicha
źródło
W porządku, ale to nie jest odpowiedź na pierwotne pytanie - jak włączyć kolorowe emoji w Chrome.
gertvdijk
@gertvdijk Kolor emotikonów czyni pracę w Google Chrome. Jaka konkretna strona internetowa powoduje problem?
Jeremy Bicha
Ok, widzę, że rozwiązałeś problem, instalując fonts-noto-color-emoji. Starałem się, aby każdy smak Ubuntu 18.04 LTS domyślnie zawierał ten pakiet, ale programiści Lubuntu i Kubuntu tego nie chcieli.
Jeremy Bicha
@Jeremy_Bicha Tak, na Kubuntu. Ale chodzi mi o to, że twoja „odpowiedź” jest raczej komentarzem do drugiej odpowiedzi na temat testowanej strony. Naprawdę nie odpowiada na pytania / pytania.
gertvdijk
Twój link wprowadza w błąd, ponieważ zawiera regułę CSS dotyczącą rodziny czcionek w kolumnie „Przeglądarka”, która zawiera określone czcionki, takie jak „Noto Color Emoji”. Większość stron internetowych nie będzie miała tej reguły CSS. Więc dla mnie emoji renderuje dobrze na twoim linku z fonts-noto-color-emojizainstalowanym pakietem, dopóki nie wyłączę tej reguły CSS, a potem nie. Jeśli skopiuję + wkleję emoji z twojego linku do gedit lub okna terminala, niektóre renderują się dobrze, a niektóre nie (np. U + 2603 ☃ nie działa, a U + 26C4 ⛄).
Abe Voelker,