v2 API のアップデートにより、Google Fonts は可変フォントに完全に対応しました。Google では、 単一および複数のフォント ファミリーを呼び出す方法と、フォント ファミリーを指定する 軸の範囲です。可変フォントの詳細については、こちらの インタラクティブなイラストのパンフレット David Berlow 氏です。
最新情報
すべては新しいベース URL から始まります。
https://fonts.googleapis.com/css2
各ファミリー内でスタイルを指定する構文は、 「デザイン スペース」の使用を検討してください。
クイックスタート ガイド
次の HTML をコピーしてファイルに貼り付けます。
<html> <head> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Crimson+Pro"> <style> body { font-family: 'Crimson Pro', serif; font-size: 48px; } </style> </head> <body> <div>Making the Web Beautiful!</div> </body> </html>
ブラウザでファイルを開くと、ページには「 Web Beautiful」をクリムゾン プロ フォントで提供しています。
複数家族
複数のファミリーをリクエストするには、ファミリーごとに family=
パラメータを指定します。
たとえば、リクエストに対して Crimson Pro、 Literata:
https://fonts.googleapis.com/css2?family=Crimson+Pro&family=Literata
次の HTML をコピーしてファイルに貼り付けます。
<html> <head> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Crimson+Pro&family=Literata"> <style> body { font-size: 48px; } div:nth-child(1) { font-family: 'Crimson Pro', serif; } div:nth-child(2) { font-family: 'Literata’, serif; } </style> </head> <body> <div>Making the Web Beautiful!</div> <div>Making the Web Beautiful!</div> </body> </html>
ブラウザを使用してファイルを開くと、ページに「Making the Web Beautiful」というテキストがまず Crimson Pro で、次に Literata でレンダリングされます。
軸の範囲
可変フォントでは、スタイルの範囲が連続的になり、多くの場合、追加は不要 レイテンシを短縮できます。これはレスポンシブ デザインに関連しています。 このダイナミック タイポグラフィでは、スタイルの範囲が連続しており、 ページ上には 100 ~ 900 の重みがあり、それに応じて重みを変化させる 予測します
可変フォント軸の範囲をリクエストするには、2 つの値を ..
で結合します
フォント | リクエストする |
---|---|
クリムゾン プロ [wght 200-900 ] |
https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@200..900 |
クリムゾン プロ イタリック [wght 200-900 ] |
https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@1,200..900 |
Crimson Pro ボールド イタリック[wght 200-900 ] |
https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,700 |
太さなどの個別のスタイル
スタイルを指定しないと、API により、 。特定の太さなど、他のスタイルをリクエストするには、 フォント ファミリー名の後にコロン(:)を追加し、その後に軸のリスト アルファベット順のプロパティ キーワード、アットマーク(@)、1 つ以上のリスト 値の集合体になります。
こちらの例で実際の例を示します。
フォント | リクエストする |
---|---|
Crimson Pro(デフォルト) | https://fonts.googleapis.com/css2?family=Crimson+Pro |
クリムゾンプロ(ボールド) | https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@700 |
Crimson Pro Regular および太字 | https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;700 |
Crimson Pro Bold太字斜体 | https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,700;1,700 |
Google Fonts には、各フォント ファミリーで使用可能なすべてのスタイルが一覧表示されます。
デフォルトのスタイル
リクエストで軸の位置または範囲が指定されていない場合、 position が使用されます。斜体のデフォルトの位置は 0(標準)で、 重み軸のデフォルト値は 400(標準)です。
ファミリーの軸にデフォルトの位置が含まれていない場合は、 これらの軸の位置を指定しないと、失敗します。たとえば、サービス アカウントを ファミリーの重み軸が 500 から 900 の範囲である場合、重みの位置は あります。
標準以外の重み
静的フォントの場合、太さのスタイルは通常 100 の倍数で指定します。 (例: 300、400、700)。可変フォントでは標準の太さと 中間の重みです。中間の重みをレンダリングするには:
https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@450
レイテンシとファイルサイズの最適化
使用するスタイルを正確に指定してください。API がリクエストされたスタイルを提供する 最もコンパクトなフォントセットで 表示できるようになります使用されないスタイルをリクエストすると フォントデータが必要以上にダウンロードされ、レイテンシが増加します。 3 つの特定の太さがある場合は、リクエストで個別のスタイルとして指定します。もし 連続した範囲の重みを使用する場合は、リクエストでその重み範囲を指定します。
font-display を使用する
font-display
プロパティを使用して、フォントの読み込み中または
他の方法では得られませんデフォルトの auto
以外の値を指定すると、
通常は適切です
display
パラメータに目的の値を渡します。
https://fonts.googleapis.com/css2?family=Crimson+Pro&display=swap
フォント リクエストの最適化
サイトやアプリでウェブフォントを使用したい場合、 必要な文字をあらかじめ知らせておく必要があります。この問題は、 使用しないでください。
この場合は、フォントで text=
値を指定することを検討してください。
リクエスト URL を入力します。これにより、Google Fonts がユーザーの環境に合わせて最適化されたフォント ファイルを
表示されます。これにより、フォント ファイルのサイズを最大で
90%。
この機能を使用するには、API リクエストに text=
を追加するだけです。たとえば
Inconsolata をブログのタイトルにのみ使用している場合は、
text=
の値として指定します。リクエストは次のようになります。
https://fonts.googleapis.com/css2?family=Comfortaa&text=Hello
他のクエリ文字列と同様に、値を URL エンコードする必要があります。
https://fonts.googleapis.com/css2?family=Comfortaa&text=Hello%20World
この機能はインターナショナル フォントにも適用でき、UTF-8 を指定できます。 あります。たとえば、¡Hola! は次のように表されます。
https://fonts.googleapis.com/css2?family=Comfortaa&text=%c2%a1Hola!
「text=」はパラメータは 1 回しか指定できません。適用される リクエストに含まれるすべてのファミリーに公開されます。必要な場合は、個別の API リクエストを使用してください。 複数のファミリー間でテキストを最適化できます。
API URL の作成
厳格性
一般に、更新された CSS API では、リクエストの内容が 許可するプロパティを指定します。
全般的なガイドライン:
- 軸をアルファベット順に一覧表示(
en-US
言語 / 地域) - 軸の値グループ(タプル)は数値で並べ替える必要があります
- タプルは重ねたりタップしたりできません(例:
wght
400..500 と 500..600)
API URL の仕様
/css2?family=<spec>[&family=<spec>...][&text=<text>][&display=<display>]
spec
: <family_name>[:<axis_tag_list>@<axis_tuple_list>]
family_name
: フォント ファミリーの名前
axis_tag_list
: <axis>[,<axis>...] // Sorted alphabetically (en-US locale)
axis
: 軸タグ。例:ital
、wdth
、wght
axis_tuple_list
: <axis_tuple>[;<axis_tuple>...]
axis_tuple
: <value>[,<value>...] // Same length as axis_tag_list
value
: <range>
|<float>
range
: <float>..<float>
float
: 対応する軸の範囲内の値
text
: リクエストされた書体で表示されるテキスト
display
: auto
|block
|swap
|fallback
|optional
従来のブラウザのサポート
可変フォントをサポートしていないブラウザでは、デザインを なります。caniuse でブラウザの可変フォントのサポート状況を確認します。
プログレッシブ エンハンスメントを実践することで、
そうした古いブラウザでの予期しない動作を回避できます。@supports
を使用する
使用して可変フォント機能を制御できます。
この例では、Markazi Text の重み 450 を使用しますが、 可変の場合、レギュラー(ウェイト 400)またはミディアム(ウェイト 500)のいずれかにフォールバックする 次のフォント機能はサポートされていません。
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Markazi+Text:wght@450" />
<style>
* {
font-family: 'Markazi Text';
font-weight: 400;
}
@supports (font-variation-settings: "wght" 450) {
* {
font-family: 'Markazi Text';
font-weight: 450;
}
}
</style>
CSS リクエスト Markazi+Text:wght@450
は、サポートしているクライアントに重み 450 を送信します。
調整できます。一般的に、
リクエストの範囲に関する代替は、従来のブラウザで使用できます。
軸 | フォールバック |
---|---|
ital |
0、1 |
wght |
100、200、300、400、500、600、700、800、900 |
以下の例は、数年間、従来のブラウザで使用できるスタイルを示しています。 さまざまなリクエストに対応できます。
リクエストする | 従来のブラウザで使用できるスタイル |
---|---|
ital@0 |
ital@0 |
wght@500 |
wght@500 |
wght@432 |
wght@400;500 |
wght@440..560 |
wght@400;500;600 |
使用可能な可変フォント
v2 API で使用可能な可変フォントの表については、こちらをご覧ください。
関連情報
- Google Fonts API が提供しているフォント ファミリーの一覧については、 Google Fonts。
- 詳しくは、Google Fonts API が 技術的な考慮事項ページ。