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