フロントの人の雑多メモ

【CSS】Google Fontsのバリアブルフォントでfont-stretchを使う方法

【CSS】Google Fontsのバリアブルフォントでfont-stretchを使う方法

太さや幅を自由に設定できるバリアブルフォント

Google Fontsでバリアブルフォントを読み込んだのに「font-stretch」「font-variation-settings」が効かない!ってこと、よくありますよね。 (ない)

例えば
Noto Serif Display」の
Regular 400 italic」で
font-width: SemiCondensed
とかにしたいとき

通常通り「Regular 400 italic」を選んで読み込んで

Google Fontsでバリアブルフォントを使う方法

このようにCSS指定しますが

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Display:ital@1&display=swap');

.notoserif {
	font-family: 'Noto Serif Display', serif;
	font-size: 4rem;
	font-stretch: semi-condensed;
}

このままだと「font-stretch」は効きません

(再現)

font-stretch: 未指定

Variable Fonts

font-stretch: semi-condensed;

Variable Fonts

font-stretchを使うにはどうしたらいいのか?

複数読み込んだ時の容量は?

これらについて解説していきます。

目次

正しい読み込み方

正しくは

  1. Type tester」を開き
  2. お好みの設定に変えて
  3. 下に出たやつの「Select +」をクリック
  4. 右に追加されたので、これで読み込みます。

Google Fontsでバリアブルフォントを使う方法

すると「font-stretch」が効いていることが確認できました!

比較用

font-stretch: 未指定

Variable Fonts

font-stretch: semi-condensed;

Variable Fonts

色んなfont-widthを追加したときの容量

normal(100)とか、semi-condensed(87.5)とか、condensed(75)とか
色んなfont-width(font-stretch)を使いたいときは、すべて読み込む必要があります

Google Fontsでバリアブルフォントの複数のWidthを読み込み

その分ページ容量も増えるのか?気になったので調査しました。

①normalのみ

Google Fontsでバリアブルフォントを読み込み

このとき、読み込まれるフォントのサイズは14.2KBでした。

読み込まれるフォントのサイズ

②SemiCondensedを追加

Google Fontsでバリアブルフォントを読み込み

このとき、読み込まれるフォントのサイズは26.9KBでした。

案の定、増えました。

読み込まれるフォントのサイズ

③Condensedを追加

Google Fontsでバリアブルフォントを読み込み

何故か、先程と変わらずでした。

読み込まれるフォントのサイズ

※キャッシュクリアした状態で検証しています。

「normal」は別で読み込まないといけなくて

それ以外は1つでも読み込めばいくら追加しても容量が変わらない結果に。

Google Fontsでバリアブルフォントを読み込み

Weightにおいても、1つ目は容量が増えましたが、それ以降は変わりませんでした。

これだけ読み込んで86KBでした。

Google Fontsでバリアブルフォントを読み込み

というわけで、複数のスタイルを使いたいときでも、容量問題はそこまで気にしなくて良さそうです。

環境や、フォントによっては違うかもしれないので、様子を見つつご利用ください。

コメント

内容を確認の上、個人情報などは省いて掲載させていただきます。

直接送信されます。確認の上、「送信」してください。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア