制作記事 Web制作マークアップCSSローカルフォントをWebフォント指定する

ローカルフォントをWebフォント指定する

Google Fonts はとても便利だが、画面に表示するまでの遅延が気になったので、同様の効果をローカルにあるフォントを利用して実現させる。

事前に用意すること

  • woff、woff2形式のフォント
  • CSSの記述

woff、woff2形式のフォント

woff、woff2形式のフォントではない場合、tffやotfをwoff、woff2形式に変換してくれる無料サービスがあるので、そういったサービスを利用して準備する。
注意:フォントの利用規約で、使用して問題ないことを確認する。

[ソフト] Web font用のwoff、woff2にフォントを変換する無料サービス

CSSの記述

@font-face {
  font-family: "my-font";
  src: url(../font/fontname.woff2),
    url(../font/fontname.woff);
}

このサンプルでは、フォント名は「my-font」、woffとwoff2のフォント名はfontnameで、cssファイルの一つ上の階層にあるfontフォルダー内にある場合としているが、実際は任意に変更する。

  • font-familyは自由に任意の名前で問題なし
  • fontの置き場所はどこでも構わない
  • woff2 のファイルを参照する
  • 続けて、woffのファイルを参照する

以上で、事前準備は終わり。

続いて実際に使ってみる。

あとは通常のfont-familyと同じように指定するのみ

たとえば、見出しタグh1にWebフォントとして表示する場合。

h1 {
  font-family: "my-font";
}

ブラウザサポート状況

Can I use… Support tables for HTML5, CSS3, etc
https://caniuse.com/?search=web%20font

2020年9月現在、モダンブラウザでは、opera miniを除いて、対応している。
5年前はブラウザ別に違う形式のフォントを用意したり、ブラウザ別にCSSを記述する必要があったが、もうシンプルな記述のみでいい。これはありがたい。

W3C: 最新情報

2020年9月時点での最新情報

CSS Fonts Module Level 4 / Font Resources
https://www.w3.org/TR/css-fonts-4/#font-resources