Как браузеры работают с персонажами "Тофу" - PullRequest
0 голосов
/ 02 июля 2019

характер. Я использую шрифт Orbitron в создаваемом мной гибридном приложении Cordova / Android - довольно просто, потому что оно компактное и имеет чистый, футуристический вид, который мне нужен. Однако я не так давно понял, что Orbitron - довольно ограниченный шрифт с поддержкой чуть большего, чем базовый латинский набор символов.

Я собирался переключиться на семейство шрифтов Noto *, которое было создано Google, чтобы появилось Нет больше Tofu - тофу подменяет термин, используемый типографами для описания пустой прямоугольной рамки появляется, когда у шрифта нет подходящего глифа для отображения.

Включение семейств шрифтов Noto Sans, Noto Sans Naksh (арабский) и Noto Sans CJK (дальневосточный) в мое приложение увеличило бы его размер, поэтому я решил сначала провести эксперимент в Chrome на Windows (какое-то время сейчас WebView, используемый Android в своих гибридных приложениях, является производным от Chrome, поэтому тест довольно представительный.

Моя тестовая разметка показана ниже. Даже если в качестве шрифта важный по умолчанию указан Orbitron, Chrome отлично показывает текст «Hello World!». на испанском (Orbitron не имеет испанского обратного восклицательного знака), арабском, упрощенном китайском, японском и тамильском (все отсутствует в Orbitron).

*{font-family:orbitron !important;}
<link href="https://fonts.googleapis.com/css?family=Orbitron&display=swap" rel="stylesheet">

<div id='english'>Hellá</div>
<div id='spanish'>¡Hola Mundo!</div>
<div id='arabic'>مرحبا بالعالم!</div>
<div id='sch'>你好,世界!</div>
<div id='jp'>こんにちは世界!</div>
<div id='tamil'>வணக்கம் உலகம்!</div>

Очевидно, что Chrome тихо использует надежный запасной вариант, когда находит Тофу в Orbitron. Мои вопросы

  1. Как происходит замена тофу?
  2. Можно ли полагаться на автоматическую замену тофу или лучше вместо этого решать специфичные для языка проблемы с некоторым разумным CSS и хорошо выбранным семейством шрифтов?

1 Ответ

1 голос
/ 02 июля 2019

В Chrome вы можете проверить элемент, затем переключиться на вкладку «Computed», и он покажет визуализированные шрифты. Chrome (и я думаю, что большинство современных браузеров) будет использовать шрифт для всех поддерживаемых символов и будет молча использовать локальный шрифт для отображения оставшихся символов.

например. для японского он будет использовать «Yu Gothic» для 5 символов и «SimSun» для 3 символов.

Japanese

Для тамильского языка используются 2 символа из «Орбитрона» (пробел и восклицательный знак), а остальные 12 отображаются в «Нирмальском интерфейсе»: Tamil

Для испанского это только «Orbitron», я не уверен почему, но я думаю, что он в основном использует существующий восклицательный знак и поворачивает его.

Какой локальный файл шрифта используется, зависит от браузера и ОС.

...