синтез шрифтов
Базовая линия Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2022 года.
Свойство font-synthesis сокращенной записи CSS позволяет указать, может ли браузер синтезировать полужирный, курсивный, полужирный курсивный и/или подстрочный и надстрочный шрифты, если они отсутствуют в указанной семействе шрифтов.
Попробуйте
Составные свойства
Это свойство является сокращенным записью для следующих свойств CSS:
Синтаксис
/* 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. |
| Наследуется | да |
| Вычисленное значение | как указано |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
Отключение синтеза шрифтов
Этот пример демонстрирует стандартное поведение синтеза шрифтов браузера и сравнивает его с отключенным поведением. Пример использует два импортированных шрифта, чтобы продемонстрировать это поведение. Возможно, вы не сможете воспроизвести отключение синтеза шрифтов для шрифтов, доступных по умолчанию в вашей операционной системе.
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 |
См. также
© 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