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 alveya 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