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