FontFace: FontFace() コンストラクター
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年1月.
FontFace() コンストラクターは、新しい FontFace オブジェクトを構築します。
構文
new FontFace(family, source)
new FontFace(family, source, descriptors)
引数
family-
要素をスタイル設定する際に、このフォントフェイスと照合するために使用することができるフォントファミリ名を指定します。
@font-faceのfont-family記述子と同じ型の値を取ります。 この値は、FontFace.familyプロパティを使用して読み込んだり設定したりすることもできます。 source-
フォントのソースです。 以下のいずれかにすることができます。
- フォントフェイスファイルの URL。
ArrayBufferまたはTypedArrayに入ったバイナリーのフォントフェイスデータ。
descriptors省略可-
オブジェクトとして渡すオプションの記述子の集合。 これは
@font-faceで利用できる任意の記述子を含むことができます。ascentOverride-
ascent-overrideで許可されでいる値と共に指定します。 descentOverride-
descent-overrideで許可されでいる値と共に指定します。 display-
font-displayで許可されでいる値と共に指定します。 featureSettings-
font-feature-settingsで許可されでいる値と共に指定します。 lineGapOverride-
line-gap-overrideで許可されでいる値と共に指定します。 stretch-
font-stretchで許可されでいる値と共に指定します。 style-
font-styleで許可されでいる値と共に指定します。 unicodeRange-
unicode-rangeで許可されでいる値と共に指定します。 variationSettings-
font-variation-settingsで許可されでいる値と共に指定します。 weight-
font-weightで許可されでいる値と共に指定します。
例外
SyntaxErrorDOMException-
記述子の文字列が、対応する
@font-face記述子の文法に照合しないか、指定するバイナリーソースを読み込むことができない場合に発生します。 このエラーではFontFace.statusがerrorに設定されます。
例
async function loadFonts() {
const font = new FontFace("myfont", "url(myfont.woff)", {
style: "normal",
weight: "400",
stretch: "condensed",
});
// wait for font to be loaded
await font.load();
// add font to document
document.fonts.add(font);
// enable font with CSS class
document.body.classList.add("fonts-loaded");
}
仕様書
| Specification |
|---|
| CSS Font Loading Module Level 3> # font-face-constructor> |
ブラウザーの互換性
Loading…