Подтвердить что ты не робот

Исключительные шрифты по специальным символам

Мне было интересно, возможно ли при использовании @font-face иметь резервную настройку, чтобы, если текст на моей странице содержит символы, которые не учитываются в шрифте (например, японские символы), только те символы представлены в основном шрифте, и каждый другой символ остается в качестве пользовательского шрифта?

Я предполагаю, что в любом случае потенциально может быть сочетание двух шрифтов в одном абзаце.

4b9b3361

Ответ 1

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

Однако иногда пользовательские шрифты используют пустые символы, в этом случае вы можете попробовать использовать unicode-range

Например:

@font-face {
    font-family: BBCBengali;
    src: url(fonts/BBCBengali.ttf) format("opentype");
    unicode-range: U+00-FF;
}

Взято из этой интересной статьи: Создание пользовательских стеков шрифтов с Unicode-диапазоном

К сожалению, есть проблемы с поддержкой браузера.

Ответ 2

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

Пример шрифта с засечками:

body {
    font-family: "MyNiceFontWithoutJapanesChars", "common serif font", serif;
}

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