LINUX.ORG.RU

Не отображаются Emoji в Google Chrome

 , , ,


0

2

После обновления (уже не знаю чего именно) перестали отображаться эмодзи.
Часть эмодзи работают, но только те, которые есть в UTF, вроде таких ☺.

Пакеты: noto-fonts-emoji, ttf-twemoji (AUR) установлены.

cat ~/.config/fontconfig/conf.d/01-emoji.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <!-- Use Twitter Emojis -->
  <match target="pattern">
    <test qual="any" name="family"><string>Twitter Color Emoji</string></test>
    <edit name="family" mode="assign" binding="same"><string>Noto Color Emoji</string></edit>
  </match>
</fontconfig>
cat ~/.config/fontconfig/conf.d/02-emoji.conf  
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
    <match target="font">
        <test name="family" qual="any">
            <family>Twitter Color Emoji</family>
        </test>
        <edit name="embeddedbitmap" mode="assign">
            <bool>true</bool>
        </edit>
    </match>
    <match target="font">
        <test name="family" qual="any">
            <string>Noto Color Emoji</string>
        </test>
        <edit name="embeddedbitmap" mode="assign">
            <bool>true</bool>
        </edit>
    </match>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Ubuntu</family>
            <family>Twitter Color Emoji</family>
            <family>Noto Color Emoji</family>
        </prefer>
    </alias>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Ubuntu</family>
            <family>Twitter Color Emoji</family>
            <family>Noto Color Emoji</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>Ubuntu Mono</family>
            <family>Twitter Color Emoji</family>
            <family>Noto Color Emoji</family>
        </prefer>
    </alias>
</fontconfig>
fc-list :charset=f10c
/usr/share/fonts/TTF/NotoSansMNerdFontMono-ExtraCondensedRegular.ttf: NotoSansM Nerd Font Mono,NotoSansM NFM,NotoSansM NFM ExtCond:style=ExtraCondensed Regular,Regular
/usr/share/fonts/TTF/NotoSansNerdFontPropo-CondensedItalic.ttf: NotoSans Nerd Font Propo,NotoSans NFP,NotoSans NFP Cond:style=Condensed Italic,Italic
/usr/share/fonts/TTF/NotoSerifNerdFont-Bold.ttf: NotoSerif Nerd Font,NotoSerif NF:style=Bold
/usr/share/fonts/TTF/NotoSansMNerdFont-ExtraCondensedLight.ttf: NotoSansM Nerd Font,NotoSansM NF,NotoSansM NF ExtCond Light:style=ExtraCondensed Light,Regular
/usr/share/fonts/TTF/NotoSansMNerdFontMono-Thin.ttf: NotoSansM Nerd Font Mono,NotoSansM NFM,NotoSansM NFM Thin:style=Thin,Regular
/usr/share/fonts/TTF/NotoSansNerdFont-SemiCondensedMedium.ttf: NotoSans Nerd Font,NotoSans NF,NotoSans NF SemCond Med:style=SemiCondensed Medium,Regular
/usr/share/fonts/TTF/NotoSerifNerdFont-SemiCondensedBlackItalic.ttf: NotoSerif Nerd Font,NotoSerif NF,NotoSerif NF SemCond Black:style=SemiCondensed Black Italic,Italic
/usr/share/fonts/TTF/NotoSansMNerdFontMono-SemiCondensedThin.ttf: NotoSansM Nerd Font Mono,NotoSansM NFM,NotoSansM NFM SemCond Thin:style=SemiCondensed Thin,Regular
/usr/share/fonts/TTF/NotoSerifNerdFont-SemiCondensedLightItalic.ttf: NotoSerif Nerd Font,NotoSerif NF,NotoSerif NF SemCond Light:style=SemiCondensed Light Italic,Italic
/usr/share/fonts/TTF/CaskaydiaCoveNerdFont-SemiLightItalic.ttf: CaskaydiaCove Nerd Font,CaskaydiaCove NF,CaskaydiaCove NF SemiLight:style=SemiLight Italic,Italic
/usr/share/fonts/TTF/CascadiaMonoNFItalic.ttf: Cascadia Mono NF:style=Light Italic
/usr/share/fonts/TTF/NotoSerifNerdFont-SemiCondensedMediumItalic.ttf: NotoSerif Nerd Font,NotoSerif NF,NotoSerif NF SemCond Med:style=SemiCondensed Medium Italic,Italic
/usr/share/fonts/TTF/NotoSerifNerdFontPropo-ExtraCondensedSemiBoldItalic.ttf: NotoSerif Nerd Font Propo,NotoSerif NFP,NotoSerif NFP ExtCond SemBd:style=ExtraCondensed SemiBold Italic,Italic
/usr/share/fonts/TTF/NotoSansMNerdFont-ExtraCondensedMedium.ttf: NotoSansM Nerd Font,NotoSansM NF,NotoSansM NF ExtCond Med:style=ExtraCondensed Medium,Regular
/usr/share/fonts/TTF/NotoSerifNerdFontPropo-SemiCondensedBold.ttf: NotoSerif Nerd Font Propo,NotoSerif NFP,NotoSerif NFP SemCond:style=SemiCondensed Bold,Bold

и так далее.

fc-list :charset=e9d5

Выхлоп отсутствует.

В Chromium из репозитория, Firefox, KDE Emoji Picker эмодзи присутсвуют.

Сбрасывать сессию пробовал.

Chrome: 150.0.7871.186-1 (chaotic-aur)

Мои мысли

В fontconfig сильно не шарю, но мне кажеться, анализируя выхлопы шрифтов, нужно менять порядок шрифтов.
И настройки ~/.config/fontconfig/conf.d/* похоже не влияют на выхлом fc-list.

★★★★★

вроде таких ☺.

Тут должен был отобразиться контур фигуры.

IIIypuk ★★★★★
() автор топика
Последнее исправление: IIIypuk (всего исправлений: 1)
Ответ на: комментарий от xDShot

Пробовал создавать нового пользователя Chrome.
Нового пользователя не создалвал, т.к. в Firefox и в других приложениях Emoji отображаются.

IIIypuk ★★★★★
() автор топика

Можно ли как-то мне воспроизвести твою ошибку в GNU / Linux Debian с KDE?

Серьёзно, ребята, зачем вы пользуетесь Арчем?

Изгнанник.

anonymous
()
Ответ на: комментарий от anonymous

Серьёзно, ребята, зачем вы пользуетесь Арчем?

Потому, что в нём всё просто работает.

vbr ★★★★★
()

Там РКН с гуглом воюет и шрифтами. Случайно у тебя шрифты откуда-то с онлайна на сайт не тянутся? А то могут не вытягиваться эти ваши эмодзи и тогда их и не будет, если шрифт в системе не стоит.

anonymous
()

Можно ещё попробовать вручную загрузить эти шрифты и кинуть их в ~/.local/share/fonts, затем выполнить fc-cache -vf. Когда у меня отсутствовали emoji в Firefox на Github, то мне такое помогло.

Ogden
()

всё работает. попробуй снести профиль/кэш.
*профиль подтянется от гугла.
на а желаемые эмодзи есть в целевых ШГ?

etwrq ★★★★★
()
Ответ на: комментарий от anonymous

Неа, что Noto, что Twemoji установлены в ~/.fonts/.

IIIypuk ★★★★★
() автор топика
Последнее исправление: IIIypuk (всего исправлений: 1)
Ответ на: комментарий от etwrq

всё работает. попробуй снести профиль/кэш.

Попробовал снести весь конфиг, не помогло.

на а желаемые эмодзи есть в целевых ШГ?

Noto из репозитория, Twemoji закинул в ~/.fonts/.

IIIypuk ★★★★★
() автор топика

Удивительно, но в Chromium из репозитория эмодзи работают.

IIIypuk ★★★★★
() автор топика

Не пробовал копать в сторону xdg-desktop-portal? Эти могут крови попить иногда.
Тем более, если программа установлена не из официального репозитория дистрибутива.

Ещё можно присмотреться к glycin+bubblewrap.

k6
()
Ответ на: комментарий от IIIypuk

Из простого: я бы попробовал ещё удалить все шрифты с эмодзи (или даже все шрифты, которые позволит удалить система), очистить кэш шрифтов (даже полностью удалить директорию с кэшем из «хомяка») и по одному возвращать, обновлять кэш, тестировать в каждом браузере после каждой итерации. Метод жутко экстенсивный, конечно, но умнее идей больше нет.

Может быть, ещё создание нового временного пользователя, но мне кажется, что это не поможет. Разве что, если там починится, то подсунуть свои конфиги fontconfig и посмотреть не сломают ли они всё в новом профиле.

Я не особенно разбираюсь в теме; просто подкидываю идеи что ещё можно попробовать.

k6
()
Ответ на: комментарий от IIIypuk

хром, f12, elements или пкм -> просмотреть код(там же в хроме).
даже можно просто с реакций скопировать, в ответ или utf8-совместимый редактор, результат будет смайлик который скопировали 🎉

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 2)
Ответ на: комментарий от etwrq

системные шрифт по умолчанию - Noto Sans Regular, смайлы нормально мигрируют между chrome/pluma/kate/mate-terminal.

$ echo 🤡 | hexdump -C
00000000 f0 9f a4 a1 0a |.....|
00000005

fonts-noto/testing,testing,now 20201225-6 all [установлен, автоматически]
*forky

отдельных шрифтов для emojii не установленно.

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 2)
Ответ на: комментарий от IIIypuk

это цитата с моего ответа, копипастой? если да, странно что смайл не отобразился у меня.
подозрение на шрифты битые.
скачай с гита релиз и попробуй с ним.
ну и в ~/.config/fonts/conf.d/ у меня пусто.

etwrq ★★★★★
()
Последнее исправление: etwrq (всего исправлений: 1)

ИИ рассказал, что некоторые новые или поврежденные файлы .otf/.ttf (например, нестандартные пользовательские гарнитуры) ломают индексацию fontconfig для Chromium-подобных движков.

И действительно, во всех Chromium подобных браузерах, кроме Chromium шрифты не работают (как оказалось, не только эмодзи).

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

IIIypuk ★★★★★
() автор топика

С помощью chrome:settings/fonts выяснил, что браузер не читает шрифты из /usr/share/fonts/, кроме Liberation, DejaVu и Adwaita.

Закинул Ubuntu и Twemoji в ~/.fonts и всё заработало.

Оставлю тему открытой, пока не разберусь почему Chrome не видит системные шрифты, либо закрою позже.

IIIypuk ★★★★★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария