18.04: цветные смайлики вообще не отображаются в Chrome, только частично в Firefox

Я обновился с 17.10 до 18.04 и надеялся получить лучшую поддержку смайликов. В результате Chrome (66) все еще использует старый черно-белый шрифт эмодзи, а Firefox (59) показывает некоторые цветные эмодзи, но не другие. Я взял несколько советов, чтобы установить шрифт EmojiOne, но это не помогло

Снимки экрана с демонстрационной страницы смайликов по адресу http://eosrei.github.io/emojione-color-font/full-demo.html:

Хром:

Fire Fox:

9 ответов

Решение

В Ubuntu 18.04+ вы можете просто установить один пакет: fonts-noto-color-emoji, После этого перезапустите Chrome, и он вступит в силу. Нет необходимости создавать ручную настройку шрифта.

Предполагается, что этот пакет устанавливается на обычную версию рабочего стола Ubuntu 18.04+ (с "рекомендуемым" уровнем зависимости - проверьте сами с apt rdepends fonts-noto-color-emoji ). Некоторые другие версии, такие как Kubuntu (KDE), не имеют этого по умолчанию и требуют установки вручную.

Для всех, у кого есть проблема, удаление и повторная установка пакета шрифтов сработали для меня (Ubuntu 19.10)

$ sudo apt remove fonts-noto-color-emoji
$ sudo apt install fonts-noto-color-emoji

или просто

$ sudo apt reinstall fonts-noto-color-emoji

Затем перезапустите Chrome.

Редактировать:

Проблемы иногда возникают, когда Chrome получает обновление, а затем мне приходится переустанавливать шрифт.

IDK, если это поможет, но возможно копирование шрифта в /usr/local/share/fonts решит эту проблему для будущих обновлений:

sudo cp -r /usr/share/fonts/truetype/noto /usr/local/share/fonts/truetype/noto

Я исправил это - я должен был следовать этим инструкциям с 2016 года, я должен был создать ~/.config/fontconfig/conf.d/01-emoji.conf со следующим текстом:

<?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>

Бит в оригинальной инструкции по установке шрифта Noto был ненужным, поскольку по умолчанию он установлен как часть 18.04.

Затем запустите:

fc-cache -f -v

При следующей перезагрузке Chrome имеет цвет Emoji.

Не используйте эту демонстрационную страницу для проверки цвета эмодзи. На этой странице показан только шрифт EmojiOne, который по умолчанию не установлен в Ubuntu (хотя Firefox использует его вариант).

Вместо этого используйте https://unicode.org/emoji/charts/full-emoji-list.html

Посмотрите на столбец Браузер. В Ubuntu по умолчанию он должен в основном соответствовать столбцу Google. (За исключением столбца Браузер, все остальные столбцы просто .png иконки). Когда я тестировал сегодня, колонка Google просто немного устарела, поскольку Google внесла некоторые изменения в некоторые из своих смайликов, которые не были включены в веб-сайт. (Например, у гамбургера есть сыр сверху гамбургера.)

Я использую emoji.conf.

введите описание изображения здесь

...............

Кажется, эта проблема может быть вызвана наличием нескольких несовместимых шрифтов emoji и / или неправильным шрифтом по умолчанию, выбранным в Chrome.

  1. Убедитесь, что у вас есть fonts-noto-color-emoji пакет установлен.

    sudo apt install fonts-noto-color-emoji
    
  2. Создайте / отредактируйте файлы конфигурации шрифта, как в ответе @N3dst4.

    • Примечание. В то время как @N3dst4 поместил свой конфигурационный файл в ~/.config/fontconfig/conf.d/01-emoji.confЯ положил в ~/.config/font-manager/local.conf из-за того, как настроена моя система.
    <?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. Установите шрифты по умолчанию в Chrome для вариантов "Noto".

  4. Перестройте кэш шрифтов + перезапустите Chrome.

    fc-cache -f -v
    
  5. Если эмодзи по-прежнему отображаются неправильно, посмотрите, какие шрифты используются для их рендеринга. right click on emoji -> Inspect -> Computed -> Rendered Fonts и удалите их.

    • Пример: мои смайлики отображались шрифтом Twitter Color Emojiтак что мне нужно было удалить пакет fonts-twemoji-svginot,
    • Вам может не понадобиться удалять шрифты, если вы больше играете с файлами конфигурации шрифтов, но я этого не проверял.
    • Не забудьте перестроить кэш шрифтов + перезапустить Chrome после удаления шрифтов.

Кстати, это также исправило текст Zalgo для меня.

Ни одно из предложенных здесь предложений не решило мою проблему, заключающуюся в том, что Google Chrome в Ubuntu 18.04 не будет отображать цветные эмодзи, что бы я ни делал. В конце концов я решил свою проблему, выполнив следующую команду:

$ sudo apt-get purge fonts-symbola ttf-ancient-fonts-symbola

После этого я перезапустил Google Chrome, и цветные смайлы наконец заработали.

В моем случае это потому, что несколько шрифтов предоставляют эмодзи. Я должен удалитьfonts-emojione делать fonts-noto-color-emoji Работа.

Другой потенциальный пакет шрифтов может вызвать конфликт: font-noto.

Ссылка на связанную ошибку.

Решено добавлением расширения Emojis — Emoji Keyboard в Chrome.

Кроме того, я проверил, что расширение Chromoji - Emojis для Google Chrome также работает.

1-е примечание: смайлики появляются везде на странице, кроме полей ввода и текстового поля.

2-е примечание: любое из этих расширений дополнительно дает нам возможность искать смайлики вместе с возможностью их копирования.

Другие вопросы по тегам