Geliştirici API'si

Developer API, Google Fonts tarafından sunulan tüm ailelerin meta verilerine erişim sağlar. Uygulamaların, mevcut yazı tipi aileleri için Google Fonts'u sorgulamasına olanak tanır. REST API, her ailedeki stilleri ve komut dosyalarını (Google Fonts'ta alt kümeleri olarak adlandırılır) içeren JSON biçiminde veri sağlar. API, aile listesini alfabetik olarak, eklenme tarihine, stil sayısına, trende veya popülerliğe göre sıralayabilir.

Kitle

Bu belge web ve uygulama geliştiricileri içindir. Developer API'yi kullanmak için JavaScript bilgisi gerekir.

Kısa bir örnek

Google Fonts hizmeti tarafından sunulan dinamik yazı tiplerinin listesini almak için aşağıdaki isteği gönderin:

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

Sonucun örneği şöyle görünü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"
  },
  [...]
 ]
}

Google'da başvurunuzu belirleme

Uygulamanızın, Google Fonts Developer API'ye her istek gönderdiğinde kendisini tanımlayan bir API anahtarı eklemesi gerekir.

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 tüm sorgu URL'lerine key=yourAPIKey sorgu parametresini ekleyebilir.

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), her yazı tipi ailesi hakkında bilgi içeren nesneleri içeren "items" adlı bir diziden oluşur.

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

  • type: Nesnenin türü, webfont nesnesi
  • aile: Ailenin adı
  • alt kümeleri: Ailenin desteklediği komut dosyalarının listesi
  • menü: Aile grubunun yalnızca aile adını söyleyen bir URL'si.
  • varyantlar: Aile için kullanılabilen farklı stiller
  • version: Yazı tipi ailesi sürümü.
  • eksen: Değişken yazı tipleri için yalnızca istek üzerine sunum yapın(aşağıya bakın).
  • lastModified: yazı tipi ailesinin son kez değiştirildiği tarih ("yyyy-AA-gg" biçimi).
  • dosyalar: Mevcut varyantların her biri için yazı tipi aile dosyaları (desteklenen tüm komut dosyaları dahil).

Her aileye ait bilgileri bir araya getirerek bir Fonts API isteği oluşturmak kolaydır. Örneğin, Anonim Pro için aile nesnesine bir referans verdiğimizi varsayarsak:

[...]

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 gösterilmez. Ancak liste, sıralama parametresi kullanılarak sıralanabilir:

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

Olası sıralama değerleri:

  • alfa: Listeyi alfabetik olarak sırala
  • date: Listeyi eklenme tarihine göre sıralama (ilk eklenen veya güncellenen en son yazı tipi)
  • popülerlik: Listeyi popülerliğe göre sırala (önce en popüler aile)
  • stil: Listeyi mevcut stillerin sayısına göre sıralayın (öncelikle en çok stile sahip aile)
  • trend: Listeyi kullanımdaki büyümeyi gören ailelere göre sıralayın (önce en fazla büyümeyi gören aile)

Filtreleme

Belirli bir aileyi sorgulama

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

Yunanca alt kümeyi 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 bir stil aralığı sunar. Varsayılan olarak, standart konumlarda örneklenen değişken yazı tipleri için bir statik yazı tipi dosyası kombinasyonu döndürülür. capaibility=VF ayarlanırsa statik eksenler yerine değişken yazı tipi dosyası ve mevcut eksen aralığı meta verileri döndürülür. Örnek:

https://www.googleapis.com/webfonts/v1/webfonts?capaibility=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'si 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