Web フォント API のクイックスタート ガイド

Web フォント API のクイックスタート ガイド

fontAPIとは何ですか?

| Web フォント サービス | CDN からフォント ファイルを取得するための CSS <link> または JavaScript スニペットを提供するホスト ライブラリ (GoogleFonts、AdobeFonts など)。| | CSS@font-face | ユーザー エージェントにフォント ファイルのダウンロード場所と CSS に公開するファミリ名を指示する低レベルのブラウザ API。| | 可変フォント API | 1 つのファイルで複数のスタイル (太さ、幅、傾斜など) を公開できる新しい構文 (font-variation-settings、軸範囲)。| | フォント表示記述子 | フォントの読み込み中にテキストをどのようにレンダリングするかを制御します (autoblockswapfallbackoptional)。| | JavaScript 読み込みヘルパー |フォントをオンザフライで読み込みまたはプリロードするためのオプションのヘルパー (FontFace コンストラクター、document.fonts.load())。|

これらはすべて、フォントを要求して使用するための プログラムによる 方法を公開しているため、「Font API」ファミリーに属しています。

コア CSS 用語

プロパティ / キーワード意味
font-familyフォントが読み込まれた後に CSS で使用する名前。
src実際のフォントファイルの URL (.woff2.woff.ttf、…)。
unicode-range特定のファイルでカバーされる文字のサブセット – サブセット化 に最適です。
font-weight / font-style / font-stretch標準的な静的記述子。
font-variation-settings変数軸のキー/値ペア ('wght' 400)。
font-displayフォント読み込み中のレンダリングフォールバック戦略。

組み込み CSS@font‑face の使用 (自己ホスト型)

 1<!-- 1️ Put the font files on your server (or CDN) -->
 2<link rel="preload" href="/fonts/Inter-Variable.woff2"
 3      as="font" type="font/woff2" crossorigin>
 4
 5<style>
 6  /* 2️⃣ Declare the family */
 7  @font-face {
 8    font-family: 'Inter Variable';
 9    src: url('/fonts/Inter-Variable.woff2') format('woff2');
10    /* Optional – load only Latin characters */
11    unicode-range: U+0000-00FF;
12    /* Show fallback text until the font is ready */
13    font-display: swap;
14  }
15
16  /* 3️⃣ Use it */
17  body {
18    font-family: 'Inter Variable', system-ui, sans-serif;
19  }
20</style>

利点: キャッシュ、ライセンス付与、サブセット化を完全に制御できます。ファイルをバンドルするとオフラインでも動作します。

Googlefonts CSSAPI (最も一般的なパブリック フォント API)

1<link href="https://fonts.googleapis.com/css2?
2family=Roboto:wght@400;700&
3family=Open+Sans:ital,wght@0,400;0,600;1,400&
4display=swap"
5rel="stylesheet">

説明

パート機能
family=Roboto:wght@400;700Roboto の標準および太字のウェイトのみをリクエストします。
family=Open+Sans:ital,wght@0,400;0,600;1,400OpenSans の標準/セミボールド Roman と標準 italic を読み込みます。
display=swapフォントの読み込みが完了するまでフォールバックテキストを使用します (UX に推奨)。

次に CSS で次のようにします。

1h1 { font-family: 'Roboto', sans-serif; }
2p  { font-family: 'Open Sans', sans-serif; }

ヒント

バリアブルフォントの例 (Googlefonts)

 1<link href="https://fonts.googleapis.com/css2?
 2family=Inter:wght@200..800&display=swap"
 3rel="stylesheet">
 4
 5<style>
 6  .hero {
 7    font-family: 'Inter', system-ui;
 8    /* Animate weight from thin → bold */
 9    font-variation-settings: 'wght' 200;
10    transition: font-variation-settings .6s ease;
11  }
12  .hero:hover { font-variation-settings: 'wght' 800; }
13</style>

重要な理由: 1 つのファイルが数十の静的な .woff2 を置き換える → ペイロードが大幅に小さくなります。

JavaScript フォント読み込み API (FontFace)

使用する場合 – ページの読み込み後にフォントを読み込む必要がある場合 (例: SPA ルーティング)、または UI を表示する前にフォントの準備が 完了 するまで待機したい場合。

 1// Create a FontFace object
 2const myFont = new FontFace(
 3  'Custom Serif',
 4  'url(/fonts/CustomSerif-VF.woff2) format("woff2")',
 5  { weight: '400 900', style: 'normal' }   // optional descriptors
 6);
 7
 8// Add it to the document’s FontFaceSet
 9document.fonts.add(myFont);
10
11// Start loading
12myFont.load().then(() => {
13  // Font ready → apply it
14  document.body.style.fontFamily = '"Custom Serif", serif';
15}).catch(err => console.error('Font failed', err));

どのフォントがロードされているかをクエリすることもできます。

1document.fonts.ready.then(() => console.log('All fonts ready'));

AdobeFonts (Typekit) – 別のパブリック フォント API

1<link rel="stylesheet" href="https://use.typekit.net/xyz123.css">

次に、キットにリストされているとおりにファミリを正確に参照します。

1h2 { font-family: "adobe-caslon-pro", serif; }

Googlefont との主な違い

パフォーマンスのベストプラクティス

  1. サブセットにはグリフのみが必要ですunicode-range または Google Fonts の text= パラメータを使用します。

  2. 重要なフォントには「プリロード」を活用します:

1<link rel="preload" href="/fonts/Inter-Variable.woff2"
2      as="font" type="font/woff2" crossorigin>
  1. font-display を少なくとも swap に設定します。
    CLS (Cumulative Layout Shift) に悪影響を与えるテキストのレンダリングを「ブロック」しないでください。

  2. GoogleFonts または AdobeFonts を使用する場合は、ファミリーを 1 つのリクエストに結合します。

  3. 永久キャッシュ – ほとんどの CDN は、woff2 ファイルに対して将来の「Cache‑Control」ヘッダーを送信します。

クイックリファレンスチートシート

APIリクエスト方法一般的な使用例
CSS @font-face<style>@font-face{…} + オプションの <link rel="preload">セルフホストフォント、フルコントロール
Google Fonts CSS API<link href="https://fonts.googleapis.com/css2?...">シンプルな URL パラメータを使用した無料フォント
Adobe Fonts (Typekit)<link href="https://use.typekit.net/xxxx.css">デザインシステム統合機能を備えた有料ライブラリ
FontFace JS APInew FontFace(name, src[, descriptors])SPA / ランタイムバンドルでの動的読み込み
可変フォント軸範囲family=Inter:wght@200..800 または CSS font-variation-settingsファイル数を削減し、スムーズなウェイト遷移を実現

TL;DR コード サンプル – ほとんどのプロジェクトのワンライナー

1<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap"
2      rel="stylesheet">
3<style>
4  body {font-family:'Montserrat',Arial,sans-serif;}
5</style>

✅ 標準と太字のウェイトのみを読み込み → ダウンロードサイズが小さい。 ✅ display=swap により、フォールバックテキストが高速化 → 優れた UX を実現。 ✅ 追加の JavaScript なしで、すべての最新ブラウザで動作します。


アポーズはどうですか?

サーバー側でフォント ファイルを操作または変換する必要がある場合 (サブセットの生成、TTF/WOFF2 間の変換、グリフ メトリクスの抽出など)、Aspose.Font ライブラリは .NET、Java、Python 用のプログラム API を提供します。これをビルド パイプラインまたはバックエンド サービスに統合して、上記のフォント API のいずれかを介して提供される前にフォント アセットを準備できます。


埋め込む準備はできましたか?

上記のスニペットのいずれかを HTML/CSS/JS にコピーすると、数秒で本番環境に対応した Font API 統合が完成します。ハッピースタイリング!

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.