Spec-Zone.ru › CSS

CSS-свойство `font-synthesis`

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

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

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

Попробуйте

font-synthesis: weight style small-caps;
font-synthesis: none;
font-synthesis: weight;
font-synthesis: style;
font-synthesis: small-caps;
font-synthesis: position;
<section class="default-example" id="default-example">
  <div class="transition-all" id="example-element">
    <p class="english">
      This font does not include <span class="bold">bold</span>,
      <span class="italic">italic</span>,
      <span class="small-caps">small-caps</span>, and
      <span class="sub">subscript</span> or
      <span class="sup">superscript</span> variants.
    </p>
    <p class="chinese">
      中文排版通常不用<span class="bold">粗体</span>或<span class="italic"
        >斜体</span
      >,也不会使用<span class="small-caps">小型大写字母</span>和<span
        class="sub"
        >下标</span
      ><span class="sup">上标</span>变体。
    </p>
  </div>
</section>
@import "https://fonts.googleapis.com/css2?family=Oxygen&display=swap";
@import "https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap";

.english {
  font-size: 1.2em;
  font-family: "Oxygen", sans-serif;
}

.chinese {
  font-size: 1.2em;
  font-family: "Ma Shan Zheng", cursive;
}

.bold {
  font-weight: bold;
}

.italic {
  font-style: italic;
}

.small-caps {
  font-variant: small-caps;
}

.sub {
  font-variant: sub;
}

.sup {
  font-variant: super;
}

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

Это свойство является сокращённой записью следующих свойств 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
Применяется к всем элементам и тексту
Наследуется да
Вычисленное значение как задано
Тип анимации дискретный

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

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 "https://fonts.googleapis.com/css2?family=Montserrat&display=swap";
@import "https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap";

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

Результат

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

Спецификация
Модуль шрифтов CSS, уровень 4
# font-synthesis

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

Настольные компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari в iOS Samsung Internet WebView для Android WebView в iOS
font-synthesis
97
97
34
83
9
97
34
68
9
18.0
97
9
none
97
97
34
83
9
97
34
68
9
18.0
97
9
position
Нет
Нет
118
Нет
Нет
Нет
118
Нет
Нет
Нет
Нет
Нет
small-caps
97
97
93
83
10.1
97
93
68
10.3
18.0
97
10.3
style
97
97
34
83
10.1
97
34
68
10.3
18.0
97
10.3
weight
97
97
34
83
10.1
97
34
68
10.3
18.0
97
10.3

См. также

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

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

Spec-Zone.ru

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