FontFaceSet: метод check()
Примечание: Эта функция доступна в Веб-воркерах.
Метод check() объекта FontFaceSet возвращает true, если вы можете отобразить некоторый текст, используя данное задание шрифтов, не пытаясь использовать шрифты из этого FontFaceSet, которые ещё не полностью загружены. Это означает, что вы можете использовать заданный шрифт, не вызывая замену шрифта.
Примечание: Метод check() не предназначен для проверки возможности отображения определённого стиля шрифта или полной загрузки конкретного шрифта. Вместо этого, он возвращает true, если указанный текст может быть отображён, используя заданный набор шрифтов, без вызова замены шрифта. Это означает, что даже если необходимый шрифт недоступен или не полностью загружен, метод может всё равно вернуть true. Такое поведение помогает избежать визуальных проблем, связанных с заменой шрифтов, но может быть неинтуитивным, если вы пытаетесь подтвердить доступность конкретного шрифта.
Синтаксис
check(font) check(font, text)
Параметры
font-
задание шрифта, использующее синтаксис свойства CSS
font, например"italic bold 16px Roboto" text-
ограничить шрифты теми, чей диапазон Unicode содержит хотя бы один из символов в тексте. Эта функция не проверяет покрытие отдельных глифов.
Возвращаемое значение
Значение типа Boolean, которое равно true, если отображение текста с заданным набором шрифтов не будет пытаться использовать шрифты из этого FontFaceSet, которые ещё не полностью загружены.
Это означает, что все шрифты в этом FontFaceSet , соответствующие заданному набору шрифтов, имеют свойство status, установленное в "loaded".
В противном случае, функция возвращает false.
Примеры
В следующем примере мы создаём новый FontFace и добавляем его в FontFaceSet:
const font = new FontFace(
"molot",
"url(https://interactive-examples.mdn.mozilla.net/media/fonts/molot.woff2)",
{
style: "normal",
weight: "400",
stretch: "condensed",
},
);
document.fonts.add(font);
Незагруженные шрифты
Шрифт ещё не загружен, поэтому check("12px molot") возвращает false, указывая, что при попытке использовать заданный набор шрифтов, будет инициирована загрузка шрифта:
console.log(document.fonts.check("12px molot"));
// false: the matching font is in the set, but is not yet loaded
Системные шрифты
Если мы указываем только системный шрифт в аргументе для check(), он возвращает true, потому что мы можем использовать системный шрифт без загрузки шрифтов из набора:
console.log(document.fonts.check("12px Courier"));
// true: the matching font is a system font
Отсутствующие шрифты
Если мы указываем шрифт, который не входит в FontFaceSet и не является системным, check() возвращает true, потому что в этом случае мы не будем полагаться на шрифты из набора:
console.log(document.fonts.check("12px i-dont-exist"));
// true: the matching font is a nonexistent font
Системные и незагруженные шрифты
Если мы указываем системный шрифт и шрифт из набора, который ещё не загружен, то check() возвращает false:
console.log(document.fonts.check("12px molot, Courier"));
// false: `molot` is in the set but not yet loaded
Загружающиеся шрифты
Если мы указываем шрифт из набора, который ещё загружается, check() возвращает false:
function check() {
font.load();
console.log(document.fonts.check("12px molot"));
// false: font is still loading
console.log(font.status);
// "loading"
}
check();
Загруженные шрифты
Если мы указываем шрифт из набора, который загружен, check() возвращает true:
async function check() {
await font.load();
console.log(document.fonts.check("12px molot"));
// true: font has finished loading
console.log(font.status);
// "loaded"
}
check();
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
check |
12035До версии 120 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
12079До версии 120 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
41 | 10622До версии 106 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
10 | 12035До версии 120 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
41 | 8022До версии 80 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
10 | 25.03.0До версии 25.0 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
12037До версии 120 этот метод возвращалfalse вместо true для отсутствующих или локально установленных шрифтов. См. баг 40893726. |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/check