Кратко
Скопированоfont говорит шрифту, какой язык использовать при выборе глифов — независимо от того, что написано в атрибуте lang. Помогает, когда у шрифта нет правил для редкого языка: можно подсунуть родственный язык с похожим поведением глифов.
Пример
Скопировано
.text-az { font-language-override: "TRK";}
.text-az {
font-language-override: "TRK";
}
Текст на азербайджанском будет отображаться с турецкими начертаниями: в азербайджанском, как и в турецком, «i» с точкой и «ı» без точки — разные буквы, и шрифт должен это учитывать.
Как понять
СкопированоМногие шрифты хранят для одних символов разные начертания и переключают их в зависимости от языка. Браузер определяет язык по атрибуту lang и просит шрифт показать подходящие глифы.
Классический пример — лигатура fi, где точка над «i» сливается с верхушкой «f». Для большинства языков это красиво, но в турецком есть две разные буквы: «i» с точкой и «ı» без точки. Лигатура здесь недопустима — она превращала бы одну букву в другую. Хороший шрифт знает об этом и для турецкого лигатуру не подставляет.
font нужен, когда автоматики не хватает. Если в шрифте нет правил для конкретного языка, он может взять «дефолтные» начертания и ошибиться. Свойство позволяет вручную назначить похожий язык с нужным поведением.
Значение задаётся не привычным кодом вроде tr или az, а тегом из таблицы языков OpenType: ENG для английского, KOR для корейского, TRK для турецкого.
Как пишется
СкопированоУ свойства два варианта значения.
normal
СкопированоЗначение по умолчанию. Браузер выбирает начертания по атрибуту lang, ручная подмена не происходит.
<строка>
СкопированоТег языка из таблицы OpenType, обязательно в кавычках. Браузер просит шрифт отрисовать глифы для указанного языка, игнорируя lang. Если в шрифте нет начертаний под этот тег — ничего не сломается, останутся обычные глифы.
Подсказки
Скопировано💡 До недавнего времени свойство поддерживал только Firefox (с версии 34). Chrome и Edge добавили поддержку в версии 143, Safari пока не поддерживает. Проверяйте актуальные данные перед использованием в продакшене.
💡 В большинстве случаев font не нужен. Правильно проставленный атрибут lang уже включает нужные начертания, а шрифт делает остальное сам. Тянуться к этому свойству стоит лишь тогда, когда шрифт ошибается с языком, а заменить его нельзя.
- Chrome 143, поддерживается
- Edge 143, поддерживается
- Firefox 34, поддерживается
- Safari, не поддерживается