Feodor2 / Mypal68

web browser
Other
542 stars 34 forks source link

NotoEmoji, Supermium и опять шрифты #455

Open NS-Clone opened 1 month ago

NS-Clone commented 1 month ago

поставил шрифты из комплекта cпepмиума... и теперь разноцветные майпаловские смайлики заменлись на чернобелые от cпepмиума....

2024-05-19_155206

ожиданиё 2024-05-21_042505 реальноздь 2024-05-21_042619

чего писать в UserContent.css ужо не помнитсо в ппимерах тут только для конкретных сайтов а теперь нада глобально да и хрен его кого именно надо менять

... а писать нужно это

@font-face { font-family: 'Segoe UI Emoji'; src: local('Twemoji Mozilla'); }
jonm58 commented 1 month ago

about:config font.name-list.emoji Noto Emoji, Twemoji Mozilla

NS-Clone commented 1 month ago

about:config font.name-list.emoji Noto Emoji, Twemoji Mozilla

tried several variants on fresh/clear browser no one works or somewhere is something like font cache?

jonm58 commented 1 month ago

idk,Supermium use Noto Emoji font,not Noto Color Emoji font

NS-Clone commented 1 month ago

idk,Supermium use Noto Emoji font,not Noto Color Emoji font

supermium can't use this color fonts so i need to install bw fonts but when i "install" this addition bw fonts that works in supermium old mypal color fonts not works more in mypal

also i think mypal using TwemojiMozilla.ttf

or mypal install notoemoji at "first" run? and i replace it?

LuxLOL commented 1 month ago

Use this at; about:config -> font.name-list.emoji = Twemoji Mozilla, Segoe UI Emoji, Noto Emoji Regular

NS-Clone commented 1 month ago

Use this at; about:config -> font.name-list.emoji = Twemoji Mozilla, Segoe UI Emoji, Noto Emoji Regular

it doesn't works also Noto Emoji is that WRONG BW font so i NOT need it in mypal at all i need it ONLY IN supermium

only deleting noto emoji from windows/fonts works

mypal completely ignoring this font.name-list.emoji and loading bw noto emoji from windows/fonts instead but before maybe there was previous bw noto emoji from previous supermium and it doesn't affect mypal

NS-Clone commented 1 month ago

also new supermium noto emoji font font viewer displays with Segoe UI Emoji name but mypal loading it with font.name-list.emoji;Twemoji Mozilla even (without Segoe UI Emoji in this list)

also i get previous noto emoji from restore points and mypal doesn't load it if it installed (or it's actually color version?) previous_NotoEmoji.zip new_NotoEmoji.zip

also i have Twemoji Mozilla in windows\fonts too

так же посмотрел шрифты в инспекторе могу предположить что старый noto emoji просто не грузитсо в mypal-е и вместо него подтягиваетсо или Twemoji Mozilla или какой то файл из интернетов

ну и логично жо сайтек хочет какой то конкретный шрифт а не какой то дефолтный для смайликов

налицо конфликт шрифтов гугол вообще не выдает что либо внятное на эту тему и как это разрулить

положил новый шрифт в chrome.exe.local для спepмиума но это ниxpeнa не дало вообще видимо так локально шрифты не подгрузить

 @font-face { font-family: 'Noto Emoji Regular'; src: local('Twemoji Mozilla'); }
 @font-face { font-family: 'Noto Emoji'; src: local('Twemoji Mozilla'); }

ничего не дает

NS-Clone commented 1 month ago

кстате в win15 оно загружает другие цветные шрифты а хотелось бы эти привычные из ХРю которые наверное те самые Twemoji Mozilla o_O но вот только почему там другой шрифт? никакого Segoe UI Emoji в W7 я не нахожу (так же как и notoemoji) в ХРю у меня его тоже нет

NS-Clone commented 1 month ago

this one works

@font-face { font-family: 'Segoe UI Emoji'; src: local('Twemoji Mozilla'); }

in %Profile%/chrome/userContent.css

правда некоторые рожитсы все равно тянутсо из чб шрифта не уверен были ли они раньше цветными и были ли вообще потом еще посмотрим

jonm58 commented 1 month ago

Supermium Emoji Font 图片 Mypal Emoji Font 图片 Google noto color emoji Font 图片 Google noto emoji Font 图片

EDSln commented 1 month ago

Я вылечил твиком реестра.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] "Segoe UI Emoji"="Noto Color Emoji"

jonm58 commented 1 month ago

Supermium is use black ver,not color ver some website use webfont for emoji

Feodor2 commented 1 month ago

Why to install, let it put inside browser folder like do mozilla. And the question is why Mypal looking for this font an take it instead its own.

jonm58 commented 1 month ago

Why to install, let it put inside browser folder like do mozilla. And the question is why Mypal looking for this font an take it instead its own.

microsoft moment

NS-Clone commented 3 weeks ago

ППЦ эта же шляпа и на roytam-овских фаирфоксах

zanud commented 3 weeks ago

Всё началось с:

поставил шрифты из комплекта cпepмиума...

У Mypal и прочих мозилловских браузеров логика явно такая: сначала смотрит, установлен ли в системе шрифт с рожами. Если есть - использует его, если нет - использует тот, который лежит в потрохах браузера.

Вопрос: так ли уж необходимо было шрифт от Supermium устанавливать в систему? Может, там такая же логика выбора?

zanud commented 3 weeks ago

А ещё в обсуждении https://bugzilla.mozilla.org/show_bug.cgi?id=1686274 упоминается параметр gfx.bundled-fonts.activate, установка которого в любое положительное число заставляет браузер предпочитать собственные шрифты установленным в систему.

Не знаю, применимо ли это к нынешним версиям Mypal (готового такого параметра у него в about:config нет, самому создавать надо), но попробуй. (Параметр вступает в действие после перезапуска браузера.)

EDSln commented 3 weeks ago

Вопрос: так ли уж необходимо было шрифт от Supermium устанавливать в систему? Может, там такая же логика выбора?

Хром тупой и не умеет брать шрифты из своих папок, по крайней мере я перебрововал все места (создавал папку Fonts и ложил шрифт в неё), и в его папке и папки юзера, ни откуда не подхыватывает. Но устанавливать шрифт в принципе не обязательно, есть расширение, которое добавляет эмодзи, да еще и цветные, со шрифтом они только ЧБ.

упоминается параметр gfx.bundled-fonts.activate, установка которого в любое положительное число заставляет браузер предпочитать собственные шрифты установленным в систему.

Похоже Mypal это не поддерживает, ничего не изменилось.

zanud commented 3 weeks ago

есть расширение, которое добавляет эмодзи, да еще и цветные, со шрифтом они только ЧБ.

А у Хрома вообще встроенная шрифтовая машина есть (как FreeType у Firefox)? А то ведь поддержка цветных шрифтов появилась только в Windows 8.1, а до того любой шрифт при выводе средствами Windows неизбежно получался чёрно-белым.

EDSln commented 3 weeks ago

А у Хрома вообще встроенная шрифтовая машина есть (как FreeType у Firefox)?

Похоже, что нет, использует системную. Поэтому и шрифты не может подхватить. А расширение просто заменяет символы на соответствующие картинки.

zanud commented 3 weeks ago

Поэтому и шрифты не может подхватить.

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

Но растризовать этот шрифт будет системная шрифтовая машина - со всеми её ограничениями (в т.ч. и отсутствием поддержки цветных шрифтов).

Вышесказанное может послужить объяснением, почему Supermium тащит с собой чёрно-белый шрифт, но не объясняет, почему его нужно устанавливать руками.

NS-Clone commented 3 weeks ago

и прочих мозилловских браузеров логика явно такая:

ну это ясно и вот теперь последствия надо разгребать... а спepмиумный шрифт таки нужон

а править каждый фаирфокс (у меня их штук 15) изза одного хрома.... ну хатея не очень интересная

Вышесказанное может послужить объяснением, почему Supermium тащит с собой чёрно-белый шрифт, но не объясняет, почему его нужно устанавливать руками.

видимо это был самый быстрый способ завести хоть какой то шрифт для иконок в ХРю а хромы видимо дропнули ХРю еще до того как возникла необходимость отображать цветные иконки на ХРю когда в фаирфокс завезли свой рендорор для этого

zanud commented 3 weeks ago

видимо это был самый быстрый способ завести хоть какой то шрифт для иконок в ХРю

Нет никакой особой разницы между "установить шрифт инсталлятором в систему на постоянку" и "установить шрифт приложением временно и только для этого приложения".

В обоих случаях для этого вызывается одна и та же функция Windows, а вся разница - в одном из передаваемых ей флагов.

Может. автор Supermium просто не знает об этом?

NS-Clone commented 3 weeks ago

ну фонт то вообще не ставитсо при запуске я его ручками положил в фонты Ж) чтоб оно рабоотало? (хотя возможно он ставитсо при установке браузера но я браузер НЕ устанавливаю а распаковываю (ибо мне нужон только portable : ))

...а если подуумать некоторые чб иконкии отображались и без этого фонта (но далеко не все)

Может. автор Supermium просто не знает об этом?

там еще упомнинаютсо флаги браузера для установки этого фонта надо наверно их попробовать без фонта в системе

EDSln commented 3 weeks ago

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

Возможно они не стали так делать, чтобы упростить себе разработку, потому что тогда под разные ос придется городить свои костыли. Поэтому типа "используем что есть, без добавлений".

а править каждый фаирфокс (у меня их штук 15) изза одного хрома.... ну хатея не очень интересная

А что мой твик реестра, что я кидал здесь выше? У меня на трех системах он устранил конфликты, Хромы показывают ЧБ эмодзи из шрифта, а Мозиллы показывают цветные из своих шрифтов.

а хромы видимо дропнули ХРю еще до того как возникла необходимость отображать цветные иконки на ХРю

Нет, разрабы просто забили на это, в 7 так же ЧБ, цветные будут только в 8.1+, где в систему добавлена поддержка цветных.

NS-Clone commented 3 weeks ago

Нет, разрабы просто забили на это, в 7 так же ЧБ, цветные будут только в 8.1+, где в систему добавлена поддержка цветных

странно мне показалось что умя цветные надо будет перепровериить

zanud commented 3 weeks ago

@NS-Clone

ну фонт то вообще не ставитсо при запуске

Судя по написанному на официальном сайте Supermium, шрифт устанавливается инсталлятором. И то, что его можно установить также и руками потом, ничего принципиально не меняет, шрифт в любом случае оказывается впендюренным в систему, где и изгаживает жизнь всем остальным.

там еще упомнинаютсо флаги браузера для установки этого фонта

Нет, это не об установке шрифта, о а способе его вывода на экран.

@EDSln

Возможно они не стали так делать, чтобы упростить себе разработку, потому что тогда под разные ос придется городить свои костыли.

ОС во всех случаях одна - Windows. И та функция установки шрифта, о которой я говорю, в ней существует без изменений со времён версии 3.1 (когда поддержка TrueType появилась).

А что мой твик реестра, что я кидал здесь выше? У меня на трех системах он устранил конфликты, Хромы показывают ЧБ эмодзи из шрифта, а Мозиллы показывают цветные из своих шрифтов.

А с какой версии Windows появилась поддержка цветных шрифтов? А без этой поддержки никакой из установленных в систему шрифтов мозиллообразный браузер цветным не покажет. А чтобы, несмотря на имеющийся системный, задействовать собственный шрифт, нужно включать gfx.bundled-fonts.activate, но, судя по вашим экспериментам, у Mypal этого параметра нет.

Нет, разрабы просто забили на это, в 7 так же ЧБ

А с другой стороны, я вообще не очень понимаю, зачем браузеру тащить с собой OpenType-шрифт, если он - браузер этот - заведомо умеет самостоятельно работать со шрифтами WOFF.

EDSln commented 3 weeks ago

Судя по написанному на официальном сайте Supermium, шрифт устанавливается инсталлятором.

Только если в инсталлаяторе установить соответствующую галочку, без нее ничего не установится.

ОС во всех случаях одна - Windows.

А как же Мак, Линукс, Андроид и прочее? Основной код то общий для всех, и под каждую тогда придется делать своё, чтобы правильно присоединяло шрифты. Хотя наверняка это не сложно, просто опять же забили.

А без этой поддержки никакой из установленных в систему шрифтов мозиллообразный браузер цветной шрифт не покажет.

Хром не покажет, Мозилла покажет. Вот для примера, я удалил в Mypal68 все шрифты из папки Fonts, удалил так же и NotoSans от Supermium, Mypal показывает малую часть и ЧБ. 1 А теперь я установил в систему цветной шрифт NotoColorEmoji весом аш 23 МБ, Supermium вообще теперь ничего не показывает, а Mypal использует этот шрифт и показывает цветным. Система ХР. 2 Просто в самих ФФ есть поддержка цветных эмодзи из шрифтов, поэтому им не важно, поддерживает система это или нет. Но вот NotoSans от Supermium почему то это ломает.

zanud commented 3 weeks ago

Только если в инсталлаяторе установить соответствующую галочку, без нее ничего не установится.

Да, галочка требуется. Но @NS-Clone упирал именно на то, что ему устанавливать вручную. Хотя это всё мелочи жизни: от способа установки шрифта в систему результат не изменится.

ОС во всех случаях одна - Windows.

А как же Мак, Линукс, Андроид и прочее?

Мы сейчас говорим о Supermium (и немного о Mypal). А оба они предназначены исключительно для Windows. И если автор Supermium осилил вызов функции AddFontResourceEx() из инсталлятора, то вполне мог бы повторить этот подвиг и для основного приложения, но с добавлением флага FR_PRIVATE.

Хром не покажет, Мозилла покажет.

Значит, описание логики работы со шрифтами а багзилле было корявым. Я знал, что Firefox растрирует шрифты сам, даже системные (помню, сколько в отдалённом уже прошлом было криков, когда там сменили шрифтовую машину, отчего резко вид буковок изменился), но из прочитанного сейчас решил, что от самостоятельного растрирования системных они уже отказались.

Мне пока непонятно, почему даже при настройке font.name-list.emoji = Twemoji Mozilla у @NS-Clone используется шрифт Noto Emoji.

zanud commented 3 weeks ago

Хм. Установил у себя в Windows XP шрифт Noto Emoji, выложенный @NS-Clone в архиве new_NotoEmoji.zip. Перезапустил Mypal. Настройки Mypal по умолчанию: font.name-list.emoji = Segoe UI Emoji, Twemoji Mozilla Зашёл на сайт https://emojikeyboard.top/ - всё там цветное, рисуется шрифтом Twemoji Mozilla. Рожицы под здешними сообщениями тоже цветные.

Что-то @NS-Clone о своих издевательствах над программами/системой недоговаривает.

EDSln commented 3 weeks ago

И если автор Supermium осилил вызов функции AddFontResourceEx() из инсталлятора, то вполне мог бы повторить этот подвиг и для основного приложения, но с добавлением флага FR_PRIVATE.

А, если о Supermium, то да, тут уже автор может что придумает, но пока ему не до работы шрифтов в других браузеров.

Зашёл на сайт https://emojikeyboard.top/ - всё там цветное, рисуется шрифтом Twemoji Mozilla. Рожицы под здешними сообщениями тоже цветные.

А мой твик реестра не применял? У меня, если без него, тоже все ЧБ. 1

NS-Clone commented 3 weeks ago

о своих издевательствах над программами/системой недоговаривает.

по моему Feodor2 тоже подтвердил? что браузер грузит системный шрифт в первую очередь вместо тех что в конфиге

And the question is why Mypal looking for this font an take it instead its own

или это он только про мой?

А мой твик реестра не применял?

а интересно не может ли быть такого твика реестра в ХРю сборках из коробки? (правда я еще не втыкал чего он делаит (это если проблема на моей стороне))

EDSln commented 3 weeks ago

не может ли быть такого твика реестра в ХРю сборках из коробки?

Очень сомневаюсь, я нашел, что так можно подменять шрифты и сам сделал эту комбинацию, вряд ли ещё кому то потребовалось менять Segoe UI Emoji на Noto Color Emoji.

zanud commented 3 weeks ago

@EDSln

А мой твик реестра не применял? У меня, если без него, тоже все ЧБ.

Нет, конечно. Тем более, что для вступления его в силу нужно уже не браузер перезапускать, а всю Windows.

@NS-Clone

по моему Feodor2 тоже подтвердил? что браузер грузит системный шрифт в первую очередь вместо тех что в конфиге

Какой именно системный? Mypal сначала узнает, шрифты с какими именами содержат рожи, изучая содержимое своего параметра font.name-list.emoji. И только потом лезет искать указанные там шрифты среди системных. А вот если и там не найдёт, то лезет ихз искать в своём подкаталоге. Вот так слова @Feodor2 и следует понимать.

а интересно не может ли быть такого твика реестра в ХРю сборках из коробки?

Запусти regedit и поизучай содержимое ветки [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] - поищи там знакомые имена шрифтов.

EDSln commented 3 weeks ago

Тем более, что для вступления его в силу нужно уже не браузер перезапускать, а всю Windows.

Систему перезапускать не нужно, изменение на лету подхватывается, достаточно перезапуска браузера.

zanud commented 3 weeks ago
  1. Кстати, сегодня во время своего эксперимента с установкой шрифта Noto Emoji обнаружил странное: на сайте https://emojikeyboard.top/ подавляющее число элементов выводились в цвете шрифтом Twemoji Mozilla, но некоторые - те, которые в нём отсутствуют, - рисовались таки чёрно-белыми шрифтом Noto Emoji, хотя этот шрифт в конфиге Mypal нигде прописан не был.

Вот откуда Mypal знает о его существовании? Возникает подозрение, что в качестве третьего этапа Mypal ищет ещё и шрифты, у которых в имени присутствует слово "Emoji". Но так ли это - только @Feodor2 сказать может.

  1. Сейчас понадобилось кое-что по поводу https://emojikeyboard.top/ уточнить. Установил тот же самый new_NotoEmoji.ttf ещё раз, захожу на https://emojikeyboard.top/ - а теперь там все элементы чёрно-белые! Точнее так: если выбрано "Emoji Set: Standard", то элементы чёрно-белые, а если выбрано "Android" или "Twitter", то цветные. Мистика какая-то.

Систему перезапускать не нужно, изменение на лету подхватывается, достаточно перезапуска браузера.

"Никогда, никогда ещё Воробьянинов не протягивал руки!" В смысле: не знаю, как в нынешних версиях Windows, но в XP и всех предыдущих изменения в FontSubstitutes вступали в действие только после перезагрузки системы. Впрочем, Интернет говорит, что и Win10/11 ничего не изменилось - перезагрузка нужна.

EDSln commented 3 weeks ago

если выбрано "Android" или "Twitter", то цветные. Мистика какая-то.

Никакой мистики, это онлайн шрифты, браузер подключает эти шрифты с сайта и их использует.

изменения в FontSubstitutes вступали в действие только после перезагрузки системы

Значит браузер смотрит эти значения и использует их по наличию. Чем дальше, тем больше загадок.

zanud commented 3 weeks ago

Никакой мистики, это онлайн шрифты, браузер подключает эти шрифты с сайта и их использует.

Какие ещё "онлайн"?! Я же говорю о TTF, которые @NS-Clone выложил здесь. Нет у меня установленного Noto Emoji - Mypal показывает всё своим собственным Twemoji Mozilla (это же в Инспекторе проверяется), а вместо тех элементов, которые в этом шрифте отсутствуют, выводит их коды.

Впрочем, с загадкой я разобрался. Судя по всему, в прошлый раз я, заходя на сайт, имел установленным не new_NotoEmoji.ttf, а previous_NotoEmoji.ttf: в этом случае на сайте почти всё выводится в цвете шрифтом Twemoji Mozilla, и только те элементы, которых в этом шрифте нет, выводятся чёрно-белыми шрифтом Noto Emoji. Но если установлен new_NotoEmoji.ttf, то всё просходит так, как я написал в прошлый раз: в режиме "Standard" всё выводится чёрно-белыми шрифтом Noto Emoji, а в двух остальных режимах - всё в цвете шрифтом Twemoji Mozilla.

Чем это вызвано - понятия не имею.

EDSln commented 3 weeks ago

Какие ещё "онлайн"?!

Я про наборы "Android" и "Twitter", это проверка на подключение шрифтов с сайта, если браузер умеет это, он их покажет даже если в системе вообще нет ни одного шрифта с эмодзи.

zanud commented 3 weeks ago

Вот прямо сейчас у меня Noto Emoji не установлен, и все элементы из "Android" и "Twitter" выводятся шрифтом Twemoji Mozilla.

Да и в стилях никаких ссылок на загружаемые шрифты нет.

Собственно, даже и название переключателя: "Emoji Set" - подразумевает, что это переключатель набора доступных символов, а не шрифта.

EDSln commented 3 weeks ago

Вот прямо сейчас у меня Noto Emoji не установлен, и все элементы из "Android" и "Twitter" выводятся шрифтом Twemoji Mozilla.

Странно, должны подключаться. У меня вот так, Noto не установлен. 1

UPD "Android" и "Twitter" у меня прогружаются как изображения, а не шрифты. 2

zanud commented 3 weeks ago

UPD "Android" и "Twitter" у меня прогружаются как изображения, а не шрифты.

Вот, про этот их трюк с использованием фоновых изображений и я собирался написать. Но, по идее, он должен работать во всех трёх режимах.

zanud commented 3 weeks ago

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

Заодно, кажется, понял, почему во время моих предыдущих экспериментах отсутствующие в Twemoji Mozilla символы подтягивались из Noto Emoji, хотя этот шрифт нигде не был прописан. Судя по всему, при отсутствии символа в Twemoji Mozilla Mypal тупо перебирает все имеющиеся в системе шрифты в поисках того, в котором такой символ найдётся.

Во всяком случае, при отсутствии Twemoji Mozilla и Noto Emoji Mypal почти всё выводит кодами, за исключением некоторых элементов, которые показывает таки изображениями. И эти изображения он берёт из Times New Roman!

Feodor2 commented 3 weeks ago

Я собираюсь сдлать так чтобы всегдла всё брался свой шрифт

zanud commented 3 weeks ago

А может, стоит реализовать ту настройку - gfx.bundled-fonts.activate? Всё равно ведь она при переходе на очередную "ступень развития" Mypal приползёт.

И кстати, да, остался невыясненным вопрос, почему на два выложенных @NS-Clone шрифта Mypal так по-разному реагирует. Из-за того, что ему в качестве второго имени прописали "Segoe UI Emoji"?

Feodor2 commented 3 weeks ago

В хр этого шрифта нет, так и нечего проверять есть ли такой шрифт у системы, а всегда брать Twemoji Mozilla

Всё равно ведь она при переходе на очередную "ступень развития" Mypal приползёт.

Как интересно

zanud commented 3 weeks ago

В хр этого шрифта нет, так и нечего проверять есть ли такой шрифт у системы, а всегда брать Twemoji Mozilla

  1. Какого "этого"? Насколько я понимаю, рожа это просто "буква" с определённым кодом (вон, некоторые даже в Times New Roman имеются). Причём специализированных шрифтов с рожами даже в этой теме называлось несколько разных, а могут существовать и другие, здесь не упомянутые, и пользователь вполне может что-то из этого себе установить. Да вот даже я сегодня устанавливал.
  2. Тут уже речь не о emoji даже, а о глобальной концепции: "когда использовать шрифты из браузерного подкаталога fonts" (пользователь ведь может туда и свои шрифты понакладывать). В Firefox, насколько я понял, сначала была политика: "Ищем шрифт в системе. Если он там есть, используем его, а если нет - ищем у себя в fonts." Позднее поняли, что это не очень хорошо, и ввели настройку с тремя значениями: "а) Действуем как в прежних версиях. б) Сначала ищем шрифт у себя и только потом в системе. в) Никогда не используем свои шрифты."
zanud commented 3 weeks ago

В хр этого шрифта нет, так и нечего проверять есть ли такой шрифт у системы, а всегда брать Twemoji Mozilla

И ещё один нюансик. Я сегодня обнаружил, что Mypal при выводе рожиц ведёт себя не так просто, как кажется.

Реальная ситуация 1: В системе (Windows XP) стоит Noto Emoji (старый), у MyPal есть Twemoji Mozilla и никаких особых настроек по части шрифтов. На сайте emojikeyboard я, в основном, вижу символы из Twemoji Mozilla, но некоторые - те, которых в Twemoji Mozilla нет, - берутся из Noto Emoji.

Реальная ситуация 2: В системе (Windows XP) нет никакого спецшрифта, а у MyPal-а нет Twemoji Mozilla. На сайте emojikeyboard я, в основном, вижу квадратики с кодами символов, но некоторые изображения таки присутствуют - те, которые нашлись в Times New Roman.

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

Так что полностью отказаться от обращения к системным шрифтам и замкнуть всё на Twemoji Mozilla может оказаться не столь простым делом. Особенно если описанный алгоритм поиска используется для вывода не только рожиц, но и нормальных символов.

EDSln commented 3 weeks ago

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

Видимо в ФФ сделали свой аналог font fallback, на уровне системы XP это точно не умеет, 7 не знаю точно, но скорей всего нет, вот 10 уже умеет. На хабре есть интересная статья, как это работает: https://habr.com/ru/articles/521740/

zanud commented 3 weeks ago

Видимо в ФФ сделали свой аналог font fallback, на уровне системы XP это точно не умеет

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

Однако в данном случае emoji выводились с помощью шрифтов, которых не было в списке font.name-list.emoji. В этом и была неожиданность: браузер ищет недостающие символы не только в шрифтах из списка, а во всех шрифтах вообще.

Но ведь emoji это просто символы текста, наряду с буквами, цифрами, знаками препинания и прочим. Поэтому ломать нынешний механизм, переводя его в режим:

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

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