FontFace: FontFace() コンストラクター
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。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");
}
仕様書
| 仕様書 |
|---|
| CSS Font Loading Module Level 3> # font-face-constructor> |