ハウツー

フォントを同梱して共有する方法

Webページを外部に共有する際、フォントをGoogleフォントやAdobe Fontsなどの外部CDNに頼ったままにすると、受け取った相手の環境やネットワーク状況によって意図したフォントで表示されないことがあります。フォントを同梱する方法を取ることで、どの環境でも制作意図通りのタイポグラフィをレビューしてもらえます。

準備するもの

まず使用フォントのライセンスを確認します。GoogleフォントはOFLライセンスで埋め込み・配布が許可されていますが、Adobe FontsやWebフォントサービスのサブセットによっては静的ファイルとしての再配布が禁止されているものがあります。ライセンス違反にならない範囲でファイルを用意することが前提です。

フォントの取得方法を決めます。Googleフォントを使っている場合は、フォントのWEBページから「Download family」でTTFファイルをダウンロードし、`fontsquirrel.com/tools/webfont-generator`でWOFF2形式に変換するのが一般的です。WOFF2はファイルサイズがTTFの約30〜40%に圧縮されるため、HTMLと一緒に配布するのに適しています。

フォントファイルを置くフォルダ構成を決めます。慣例として`fonts/`フォルダをHTMLと同階層に作り、`fonts/NotoSansJP-Regular.woff2`のように配置するのが管理しやすいです。フォントファイル名にスペースを含めると一部の環境でパス解決に失敗するため、ハイフンまたはアンダーバーを使ってください。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

実際の手順

手順①:WOFF2形式のフォントファイルを`fonts/`フォルダに配置します。手順②:CSSに以下を追記します。`@font-face{font-family:'NotoSansJP';src:url('../fonts/NotoSansJP-Regular.woff2') format('woff2');font-weight:400;font-display:swap;}`。手順③:body要素などに`font-family:'NotoSansJP',sans-serif;`を指定します。

手順④:HTMLをブラウザで開き(ローカルファイルまたはサーバー経由で)、意図したフォントが適用されているかを確認します。確認方法は開発者ツールの「Elements」タブでテキスト要素を選択し、「Computed」パネルの`font-family`に指定したフォント名が表示されているかを見ます。

手順⑤:フォントが適用されていることを確認したら、HTMLと`fonts/`フォルダをまとめてZIPに圧縮するか、ギガサイト便にフォルダごとアップロードします。フォントが参照できない環境での動作確認として、フォントフォルダを一時的に削除して代替フォントに自然に切り替わるかも確認しておくと安心です。

失敗しやすい点

最もよくある失敗は、CSSのurl()パスが間違っているケースです。CSSファイルの場所からの相対パスで記述する必要があるため、CSSが`css/style.css`にあり、フォントが`fonts/`にある場合は`url('../fonts/NotoSansJP.woff2')`が正しくなります。HTMLからの相対パスと混同するミスが頻発します。

ウェイト(太さ)が複数あるフォントを使っている場合、`@font-face`の`font-weight`の指定を省略またはすべて400にしてしまうと、boldや700指定の要素でブラウザが別フォントへフォールバックします。使用する各ウェイトのWOFF2ファイルを用意し、対応する`@font-face`ブロックをそれぞれ記述してください。

テンプレ文面

「デザイン確認用のプレビューURLをご共有します。フォントはページ内に同梱しているため、特別なフォントのインストールなしにデザイン意図通りの表示でご確認いただけます。ご不明な点がございましたらお気軽にご連絡ください。」

フォントを同梱している旨をクライアントに伝えることで、「自分のPCには入っていないフォントで表示されている」という混乱を防げます。制作者側の配慮として一文添えるだけでレビューの品質が上がります。

よくある質問

日本語フォントはファイルサイズが大きいですが、同梱してもページ表示速度に影響しませんか?

フルセットの日本語WOFFは5〜20MBになりますが、サブセット化(使用文字のみ抽出)すると200〜500KB程度に削減できます。Googleフォントは自動サブセット化されますが、ローカルWOFF2を使う場合はPyftsubsetやglyphhanger等でサブセット化することをおすすめします。

フォントをHTMLにBase64でインラインに埋め込む方法もありますか?

可能ですが、フォントの内容をBase64文字列にするとHTMLファイルサイズが大幅に増加し、初期レンダリングが遅くなります。別ファイルとして配置してHTTPキャッシュを活かす方法の方が、ほとんどのケースでパフォーマンスが優れます。

フォントを同梱した状態でZIP圧縮してメールに添付する方法と、URL共有はどちらがよいですか?

URLで共有する方が、修正版の差し替えが容易でメールサイズ制限も気にしなくて済みます。ただしオフライン環境のクライアントへはZIP添付の方が確実です。通常のプレビュー確認はURL共有、最終納品物の保存用にZIP添付という使い分けが一般的です。

関連記事

ハウツー

フォントを同梱して共有するためのチェックリスト

フォント同梱HTMLを共有する前の点検に使えるチェックリスト。ライセンス確認からファイル名の文字種、PC・スマホでの表示確認、送付文面の要素まで工程別に整理した実務向け記事。

4分で読める
ハウツー

レビュー用URLをSlackで配る方法

Slackでレビュー用URLを共有したい担当者向けに、準備・送信・無効化の一連の流れを解説。どのチャンネルに何をどう送ればよいか判断できます。

3分で読める
ハウツー

レビュー用URLをTeamsで配る方法

TeamsでレビューURLを共有したい担当者向けに、チャンネル・チャット・会議チャットの使い分けと配布時の設定手順を解説。どの機能を使えばよいか判断できます。

4分で読める
ハウツー

メールで期限付きURLを送る方法

メールで期限付きレビューURLを送りたい担当者向け。件名・パスワードの記載方法から期限管理・再送まで、メール特有のトラブルを防ぐ手順を解説しています。

4分で読める
ハウツー

Notionに共有URLを貼る方法

Notionでレビュー用URLを管理・共有したい担当者向け。埋め込み機能の使い方とページ公開範囲の設定手順を解説し、どの方法を選べばよいか判断できます。

4分で読める
「ハウツー」の記事をもっと見る →