@font-faceでWEBフォントを設定する方法

@font-faceでWEBフォントを設定する方法

ホームページやブログを作成するとき、フォントって意識してますか?フォントを変えるだけでサイトのイメージががらりと変わりますよね。

フォントの種類を変更するには、font-familyを使います。ただ、font-familyで指定する場合、ユーザー環境に左右されますね。というのも、font-familyで指定したフォントが訪問者の環境に入っていない場合は、そのフォントで表示することができないからです。

ユーザー環境に依存せずに好きなフォントを指定したい場合は、WEBフォントを利用すればいいのです。

テキストを画像に置き換えるという方法もありますが、WEBフォントを利用することでテキストデータとして表示できるため、SEOの観点から考えるとWEBフォントの方がいいですね。

GoogleのMatt Cutts氏も「画像を使うならaltやtitleでテキスト情報を伝える」か「画像ではなくWEBフォントを使う」という方法を推奨しているようです。

WEBフォントとは

サーバーからフォントを読み込むことで、ユーザーの環境に依存せずにフォントを表示する方法です。

読み込むフォントはサーバーにアップロードしておき、CSS3から追加された@font-faceを使って読み込みます。

WEBフォントのメリット・デメリット

ユーザー環境に依存せずに好きなフォントを表示できるWEBフォントですが、いいことばかりではありません。メリットとデメリットについて簡単に理解しておきましょう。

メリット

・ユーザー環境に依存しない
・おしゃれなフォントを使用できる

デメリット

・日本語フォントの場合、読み込みに時間がかかる

英字フォントの場合、読み込むデータはアルファベットだけでいいです。しかし日本語の場合、ひらがな・カタカナ・漢字といったフォントデータを読み込む必要があるため、どうしても読み込みに時間がかかってしまいます。

最近は読み込み速度を改善したフォントなんかも出てきているみたいですが、多くの日本語フォントは読み込みに時間がかかってしまいます。

このようなデメリットもあることを理解したうえで、WEBフォントを活用しましょう。

WEBフォントの設定手順

設定手順は以下の通りです。そんなに難しくはないです。

WEBフォントの定義

まずは、フォントファイルをサーバーにアップロードしておきます。

次に、CSSでWEBフォントを定義します。

@font-face {
  font-family: フォント名;
  src: url('font/webfont.eot'); /* IE9 */
  src: url('font/webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('font/webfont.ttf') format('truetype'), /* Modern Browsers, Android, iOS */
  url('font/webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

font-familyの部分には、そのフォント名を入れます。フォント名は自分がわかりやすいものでOKです。srcにフォントファイルのファイルパスを入れます。

古いブラウザに対応する必要がなければ、以下のように簡単に記述してもOKです。

@font-face {
  font-family: フォント名;
  src: url('font/webfont.ttf') format('truetype');
}

formatに関しては、使うフォントのタイプによって書き換えます。フォントのタイプや指定するformatの値については、以下の表をご参照ください。

TrueType
形式 TrueType
拡張子 .ttf
formatの値 truetype
概要 WindowsやMacで使われる一般的なフォント形式
OpenType
形式 OpenType
拡張子 .ttf .otf
formatの値 opentype
概要 PostScriptとTrueTypeを統合したフォント形式。TrueType形式で作成されたものは「.TTF」、PostScript形式のものは「.OTF」となる
WebOpenFontFormat(WOFF)
形式 WebOpenFontFormat
拡張子 .woff
formatの値 woff
概要 Web用の新しいフォント形式。データが軽いのが特徴。
EmbeddedOpenType(EOT)
形式 EmbeddedOpenType
拡張子 .eot
formatの値 embedded-opentype
概要 米マイクロソフトが開発したWebページ用のフォント形式。IEのみ対応
SVG Font
形式 SVG Font
拡張子 .svg .svgz
formatの値 svg
概要 SVGを利用したフォント形式

WEBフォントの利用

さて、WEBフォントの定義が完了したら、実際にフォントを利用します。

フォントの利用は、WEBフォントだからといって特別なものではなく、定義したフォント名をfont-familyで指定してあげるだけです。

h1 {
  font-family: フォント名;
}

上記のように指定すると、H1要素がWEBフォントになります。

WEBフォントが読み込まれるまで代替フォントを表示する

@font-face内で「font-display: swap;」を指定することで、WEBフォントの読み込みが完了するまで代替フォントを表示させることができます。

@font-face {
  font-family: フォント名;
  src: url('font/webfont.ttf') format('truetype');
  font-display: swap;
}

font-displayプロパティは、モダンブラウザには対応していますがIEには非対応なのでご注意ください。

font-displayブラウザ対応状況

複数のウェイト(太さ)があるフォントの場合

複数のウェイトがある場合は、以下のように同じフォント名で指定できます。「font-weight:400;」の場合はwebfont.ttfが、「font-weight:700;」の場合はwebfont-bold.ttfが適用されます。

@font-face {
  font-family: example;
  src: url('font/webfont.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: example;
  src: url('font/webfont-bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
}

フォントを指定する際は、以下のようにfont-weightでウェイトを変更しましょう。

h1 {
  font-family: example, sans-serif;
  font-weight: 700;
}

p {
  font-family: example, sans-serif;
  font-weight: 400;
}

あとがき

やれCSS3だとかやれWEBフォントだとか言われると結構難しそうに感じるかもしれませんが、実際やってみると非常に簡単です。

bodyにWEBフォントを使うと重くなるので、見出しなどのワンポイントで使うといいかもしれません。

今後はWEBフォントの利用も増えてくるのではないかと思いますので、今のうちに基本だけでもマスターしておくといいですね。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です