Spec-Zone.ru › CSS

синтез шрифтов

Базовая линия Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2022 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство font-synthesis сокращенной записи CSS позволяет указать, может ли браузер синтезировать полужирный, курсивный, полужирный курсивный и/или подстрочный и надстрочный шрифты, если они отсутствуют в указанной семействе шрифтов.

Попробуйте

Составные свойства

Это свойство является сокращенным записью для следующих свойств CSS:

  • font-synthesis-weight
  • font-synthesis-style
  • font-synthesis-small-caps
  • font-synthesis-position

Синтаксис

/* none or one or more of the other keyword values */
font-synthesis: none;
font-synthesis: weight;
font-synthesis: style;
font-synthesis: position;
font-synthesis: small-caps style; /* property values can be in any order */
font-synthesis: style small-caps weight position; /* property values can be in any order */

/* Global values */
font-synthesis: inherit;
font-synthesis: initial;
font-synthesis: revert;
font-synthesis: revert-layer;
font-synthesis: unset;

Значения

none

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

weight

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

style

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

small-caps

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

position

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

Описание

Большинство стандартных шрифтов Западной Европы содержат курсивные и полужирные варианты, а некоторые — варианты полужирного курсива и подстрочных/надстрочных шрифтов. Однако многие шрифты этого не содержат. Шрифты, используемые для китайских, японских, корейских и других логографических сценариев, обычно не включают эти варианты, и их синтез может затруднить читаемость или изменить смысл текста. В этих случаях может быть желательно отключить стандартный синтез шрифтов браузера.

Например, с помощью псевдокласса :lang() можно отключить синтез полужирных и наклонных символов для определённого языка, в данном случае для арабского языка:

*:lang(ar) {
  font-synthesis: none;
}

В таблице ниже показано, как значение свойства сокращённой записи font-synthesis сопоставляется со значениями составных свойств.

значение font-synthesis значение font-synthesis-weight значение font-synthesis-style значение font-synthesis-small-caps значение font-synthesis-position
none none none none none
weight auto none none none
style none auto none none
small-caps none none auto none
position none none none auto
weight style auto auto none none
weight small-caps auto none auto none
weight position auto none none auto
style small-caps none auto auto none
style position none auto none auto
weight style small-caps auto auto auto none
weight style position auto auto none auto
weight small-caps position auto none auto auto
style small-caps position none auto auto auto
weight style small-caps position auto auto auto auto

Формальное определение

Начальное значение weight style small-caps position
Применимо к всем элементам и тексту. Также применимо к ::first-letter и ::first-line.
Наследуется да
Вычисленное значение как указано
Тип анимации дискретный

Формальный синтаксис

font-synthesis = 
none |
[ weight || style || small-caps || position ]

Примеры

Отключение синтеза шрифтов

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

HTML

<pre> DEFAULT </pre>
<p class="english">
  This font supports <strong>bold</strong> and <em>italic</em>.
</p>
<p class="chinese">这个字体支持<strong>加粗</strong>和<em>斜体</em></p>
<br />

<pre> SYNTHESIS IS DISABLED </pre>
<p class="english no-syn">
  This font supports <strong>bold</strong> and <em>italic.</em>
</p>
<p class="chinese no-syn">这个字体支持<strong>加粗</strong>和<em>斜体</em></p>
<br />

<pre> SYNTHESIS IS ENABLED </pre>
<p class="english">
  This font supports <strong>bold</strong> and <em>italic</em>.
</p>
<p class="chinese syn">这个字体支持<strong>加粗</strong>和<em>斜体</em></p>

CSS

@import url("https://fonts.googleapis.com/css2?family=Montserrat&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap");

.english {
  font-family: "Montserrat", sans-serif;
}
.chinese {
  font-family: "Ma Shan Zheng";
}
.no-syn {
  font-synthesis: none;
}
.syn {
  font-synthesis: style weight;
}

Результат

Спецификации

Спецификация
CSS Fonts Module Level 4
# font-synthesis

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
font-synthesis 97 97 34 83 9 97 34 68 9 18.0 97
position Нет Нет 118 Нет Нет Нет 118 Нет Нет Нет Нет
small-caps 97 97 93 83 10.1 97 93 68 10.3 18.0 97
style 97 97 ≤72 83 10.1 97 79 68 10.3 18.0 97
weight 97 97 ≤72 83 10.1 97 79 68 10.3 18.0 97

См. также

  • font-style
  • font-weight
  • font-variant-caps
  • font-variant-position

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/font-synthesis

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API