Developer API, Google Fonts tarafından sunulan tüm aileler için meta verilere erişim sağlar. Uygulamaların, mevcut yazı tipi aileleri için Google Fonts'u sorgulamasına olanak tanır. REST API, verileri her ailedeki stilleri ve komut dosyalarını (Google Fonts'ta alt kümeler olarak adlandırılır) içeren JSON biçiminde sağlar. API; aileler listesini alfabetik olarak, eklenme tarihine, stil sayısına, trende veya popülerliğe göre sıralayabilir.
Kitle
Bu doküman, web ve uygulama geliştiricileri için hazırlanmıştır. Developer API'yi kullanmak için JavaScript bilgisi gerekir.
Küçük bir örnek
Google Fonts hizmeti tarafından sunulan yazı tiplerinin dinamik listesini almak için aşağıdaki isteği gönderin:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Sonucun bir örneği aşağıdaki gibi 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'a başvurunuzu tanımlama
Google Fonts Developer API'ye her istek gönderdiğinde, her isteğe bir API anahtarı ekleyerek uygulamanızın kendini tanımlaması gerekir.
API anahtarı edinme ve kullanma
Anahtar Alveya Kimlik Bilgileri sayfasında bir tane oluşturun.
Bir API anahtarınız olduktan sonra, uygulamanız key=yourAPIKey
sorgu parametresini tüm istek URL'lerine 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 bir yazı tipi ailesi hakkında bilgi içeren nesneler içeren "items" adlı bir diziden oluşur.
Aile nesnesi aşağıdaki alanlardan oluşur:
- type: Nesnenin türü, webfont nesnesi
- family: Ailenin adı
- alt kümeler: Aile tarafından desteklenen komut dosyalarının listesi
- menü: Yalnızca ailenin adını içeren aile alt kümesinin URL'si.
- varyantlar: Ailenin kullanabileceği farklı stiller
- version: Yazı tipi ailesi sürümü.
- eksenler: Eksen aralığı, Değişken yazı tipleri için yalnızca istek üzerine(aşağıya bakın) sunum yapın.
- lastModified: Yazı tipi ailesinin son değiştirildiği tarih ("yyyy-AA-gg biçiminde").
- files: Kullanılabilir varyantların her biri için yazı tipi ailesi dosyaları (desteklenen tüm komut dosyalarıyla birlikte).
Her ailenin bilgilerini birleştirerek Fonts API isteği oluşturabilirsiniz. Örneğin, Anonim Pro için aile nesnesine bir referansmızın olduğunu 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
Aileler listesi, varsayılan olarak belirli bir sıra olmadan döndürülür. Bununla birlikte, listeyi Sort parametresini kullanarak sıralamak mümkündür:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
Olası sıralama değerleri şunlardır:
- alpha: Listeyi alfabetik olarak sırala
- date: Listeyi eklenme tarihine göre sırala (önce en son eklenen veya güncellenen yazı tipi)
- popülerlik: Listeyi popülerliğe göre sıralayın (önce en popüler aile)
- style: Listeyi kullanılabilir stil sayısına göre sıralayın (önce çoğu stile sahip aile)
- Trend: Listeyi kullanım oranında artış gören ailelere göre sıralayın (önce en çok büyüme görülen aile)
Filtreleme
Belirli bir aileyi sorgulama
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Yunanca alt kümesini 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, stiller arasından seçimler yapmanızı sağlar. Varsayılan olarak, standart konumlarda gösterilen değişken yazı tipleri için bir statik yazı tipi dosyası kombinasyonu döndürülür.
capability=VF
ayarlanırsa kullanılabilir eksenler aralığı meta verileriyle birlikte statik dosyalar yerine değişken yazı tipi dosyası döndürülür. Ö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
.