Когда я захожу на сайт в Chrome, он отлично показывает нелатинские символы. Однако, когда я запускаю тот же сайт в Chrome без головы на сервере Ubuntu и просматриваю сайт через отладчик на порту 9222, все символы отображаются как пустые прямоугольники [].
Эта проблема возникает для таких языков, как китайский, индийский, арабский и т. Д.
На сайте используется шрифт Liberation, а в заголовке сайта установлена кодировка utf-8. Шрифт Liberation установлен на сервере Ubuntu, и шрифт загружается локально из корневого каталога сервера, а также с помощью CSS. В обычном Chrome это работает безупречно, но не в безголовом режиме.
По-видимому, это известная проблема, что Chrome без головы не может отображать нелатинские символы по умолчанию из коробки, однако мне пока не удалось найти какое-либо комплексное решение для нее.
Как заставить работать нелатинские символы в Chrome без головы? Желательно со шрифтом Liberation, который я уже использую.
Я нашел решение проблемы.
Похоже, что Chrome в режиме без заголовка требует установки определенных шрифтов для нелатинских символов. Конечно, эту проблему можно решить, установив множество шрифтов, но установить шрифты для веб-сайтов, поддерживающих множество языков, будет головной болью.
К счастью, доступны современные пакеты шрифтов, которые охватывают почти все языки и сценарии на Земле. Я установил 3 пакета шрифтов, которые теперь отображают нелатинские символы для многих языков. Для Индии я установил специальный пакет шрифтов для всех языков и алфавитов в Индии. Я также установил специальный пакет шрифтов, который охватывает упрощенный китайский, традиционный китайский, японский и корейский языки.
Вот 3 пакета шрифтов, которые решают эту проблему. Сверху вниз, пакет индийских шрифтов, пакет международных шрифтов и пакет шрифтов для Китая, Японии и Кореи:
sudo apt-get install fonts-indic
sudo apt-get install fonts-noto
sudo apt-get install fonts-noto-cjk
Установка этих пакетов шрифтов решает проблему. И делает это элегантно. Обычные латинские шрифты, используемые в коде веб-сайта, по-прежнему работают, однако, когда символы для определенного языка не могут быть найдены, Chrome без заголовка возвращается к недавно установленным пакетам шрифтов.