Geliştirici API'si

Developer API, sunulan tüm aileler için meta verilere erişim sağlar Google Fonts tarafından. Uygulamaların, Mevcut yazı tipi aileleri için Google Fonts. İlgili içeriği oluşturmak için kullanılan REST API, verileri stilleri ve komut dosyalarını içeren JSON biçiminde sağlar (Google Fonts'ta alt küme olarak adlandırılır). API, proje sırasında aileler alfabetik olarak, ekleme tarihine, stil sayısına, trende veya 10-15 kat daha fazla.

Kitle

Bu doküman, web ve uygulama geliştiricileri içindir. Her bir Developer API için JavaScript bilgisi gerekir.

Kısa bir örnek

Google Fonts hizmeti tarafından sunulan yazı tiplerinin dinamik listesini almak için aşağıdaki istekte bulunabilirsiniz:

https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY

Sonuç örneği şu şekilde olacaktır:

{
 "kind": "webfonts#webfontList",
 "items": [
  [...]
  {
    "family": "Anonymous Pro",
    "variants": [
      "regular",
      "italic",
      "700",
      "700italic"
    ],
    "subsets": [
      "cyrillic",
      "greek",
      "latin",
      "latin-ext"
    ],
    "version": "v21",
    "lastModified": "2022-09-22",
    "files": {
      "regular": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2Bp2a15UIB7Un-bOeISG3pLlw89CH98Ko.ttf",
      "italic": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2fp2a15UIB7Un-bOeISG3pHl428AP44Kqr2Q.ttf",
      "700": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2cp2a15UIB7Un-bOeISG3pFuAT0CnW7KOywKo.ttf",
      "700italic": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2ap2a15UIB7Un-bOeISG3pHl4OTCzc6IG30KqB9Q.ttf"
    },
    "category": "monospace",
    "kind": "webfonts#webfont",
    "menu": "http://fonts.gstatic.com/s/anonymouspro/v21/rP2Bp2a15UIB7Un-bOeISG3pHl028A.ttf"
  },
  {
    "family": "Antic",
    "variants": [
      "regular"
    ],
    "subsets": [
      "latin"
    ],
    "version": "v19",
    "lastModified": "2022-09-22",
    "files": {
      "regular": "http://fonts.gstatic.com/s/antic/v19/TuGfUVB8XY5DRaZLodgzydtk.ttf"
    },
    "category": "sans-serif",
    "kind": "webfonts#webfont",
    "menu": "http://fonts.gstatic.com/s/antic/v19/TuGfUVB8XY5DRZZKq9w.ttf"
  },
  [...]
 ]
}

Uygulamanızın Google tarafından tanımlanması

Uygulamanızın, Google Fonts Developer API'sini kullanarak her biri için bir API anahtarı isteğinde bulunabilirsiniz.

API anahtarı edinme ve kullanma

Anahtar al

veya Kimlik Bilgileri sayfasında bir tane oluşturun.

Bir API anahtarınız olduktan sonra, uygulamanız sorgu parametresini ekleyebilir Tüm istek URL'lerine key=yourAPIKey.

API anahtarı, URL'lere yerleştirmek için güvenlidir; herhangi bir kodlama yapmanız gerekmez.

Ayrıntılar

JSON yanıtı (yukarıdaki örneğe bakın) "items" adlı bir diziden oluşur. her yazı tipi ailesiyle ilgili bilgi içeren nesneler içerir.

Aile nesnesi, aşağıdaki alanlardan oluşur:

  • type: Nesnenin türü, web yazı tipi nesnesi
  • family: Ailenin adı
  • alt kümeler: Aile grubu tarafından desteklenen komut dosyalarının listesi
  • menü: Yalnızca ailenin adını kapsayan aile alt kümesine giden bir URL.
  • varyantlar: Aileler için sunulan farklı stiller
  • version: Yazı tipi ailesi sürümü.
  • Eksenler: Eksen aralığı, Değişken yazı tipleri için Yalnızca istek üzerine sunulur(aşağıya bakın).
  • lastdeğiştirildi: Yazı tipi ailesinin değiştirildiği tarih ("yyyy-AA-gg" biçiminde) tekrar deneyin.
  • dosyalar: Bu dosyaların her biri için yazı tipi ailesi dosyaları (desteklenen tüm komut dosyalarıyla birlikte) kullanılabilir.

Her ailenin bilgilerini birleştirerek Fonts API oluşturmayı kolaylaştırabilirsiniz isteğinde bulunabilirsiniz. Örneğin, 2024 yılında yıl sonu itibarıyla aile nesnesine Anonim Uzman:

[...]

var apiUrl = [];
apiUrl.push('https://fonts.googleapis.com/css?family=');
apiUrl.push(anonymousPro.family.replace(/ /g, '+'));
if (contains('italic', anonymousPro.variants)) {
  apiUrl.push(':');
  apiUrl.push('italic');
}
if (contains('greek', anonymousPro.subsets)) {
  apiUrl.push('&subset=');
  apiUrl.push('greek');
}

// url: 'https://fonts.googleapis.com/css?family=Anonymous+Pro:italic&subset=greek'
var url = apiUrl.join('');

[...]

Sıralama

Aile listesi varsayılan olarak belirli bir sırada döndürülür. Evet Ancak, sıralama parametresini kullanarak listeyi sıralayabilirsiniz:

https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity

Olası sıralama değerleri şunlardır:

  • alfa: Listeyi alfabetik olarak sıralar
  • date: Listeyi eklenme tarihine göre sırala (en son eklenen veya güncellenen yazı tipi en üstte)
  • popülerlik: Listeyi popülerliğe göre sıralayın (önce en popüler aile)
  • stil: Listeyi mevcut stil sayısına göre sırala (çoğu stile sahip aile önce)
  • Trendler: Listeyi kullanım artışı görülen ailelere ( en fazla büyümeye öncelik verin)

Filtreleme

Belirli bir aileyi sorgulama

https://www.googleapis.com/webfonts/v1/webfonts?family=family_name

Yunan alt grubunu destekleyen tüm aileler

https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name

Optimizasyon

woff2 biçiminde sıkıştırılmış yazı tipi dosyalarını almak için

https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2

Değişken Yazı Tipleri

Değişken yazı tipleri sürekli stil aralıkları sunar. Varsayılan olarak statik yazı tipleri dosyaları, standartta örneklenen değişken yazı tipleri için döndürülür gösterir. capability=VF ayarlanırsa statik yerine değişken yazı tipi dosyası döndürülür mevcut eksen aralığı meta verileriyle eşleştirilir. örnek örnek:

https://www.googleapis.com/webfonts/v1/webfonts?capability=VF

Örnek yanıt:

{
 "kind": "webfonts#webfontList",
 "items": [
  [...]
  {
    "family": "Noto Sans Display",
    "variants": [
      "regular",
      "italic"
    ],
    "subsets": [
      "cyrillic",
      "cyrillic-ext",
      "greek",
      "greek-ext",
      "latin",
      "latin-ext",
      "vietnamese"
    ],
    "version": "v20",
    "lastModified": "2022-09-22",
    "files": {
      "regular": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLplK4fy6r6tOBEJg0IAKzqdFZVZxokvfn_BDLxR.ttf",
      "italic": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLpjK4fy6r6tOBEJg0IAKzqdFZVZxrktdHvjCaxRgew.ttf"
    },
    "category": "sans-serif",
    "kind": "webfonts#webfont",
    "menu": "http://fonts.gstatic.com/s/notosansdisplay/v20/RLpbK4fy6r6tOBEJg0IAKzqdFZVZxpMkXJMhnB9XjO1o90LuV-PT4Doq_AKp_3cKZTCa3g.ttf",
    "axes": [
      {
        "tag": "wdth",
        "start": 62.5,
        "end": 100
      },
      {
        "tag": "wght",
        "start": 100,
        "end": 900
      }
    ]
  },
  [...]
 ]
}

API URL Spesifikasyonu

webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]

your_key: Geliştirici API Anahtarınız.

family: Yazı tipi ailesinin adı.

subset: Yazı tipi alt kümesinin adı.

capability: VF | WOFF2.

sort: alpha | date | popularity | style | trending.