L'API Developer dà accesso ai metadati per tutte le famiglie servite da Google Fonts. Consente alle app di interrogare Google Fonts per le famiglie di caratteri disponibili. L'API REST fornisce dati in formato JSON che include gli stili e gli script (chiamati sottoinsiemi di Google Fonts) di ogni famiglia. L'API può ordinare l'elenco delle famiglie in ordine alfabetico, per data di aggiunta, per numero di stili, per tendenza o per popolarità.
Pubblico
Questo documento è rivolto agli sviluppatori di applicazioni e web. L'utilizzo dell'API Developer richiede la conoscenza di JavaScript.
Un rapido esempio
Per recuperare l'elenco dinamico dei caratteri offerti dal servizio Google Fonts, invia la seguente richiesta:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Un esempio del risultato avrebbe questo aspetto:
{ "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" }, [...] ] }
Identificazione dell'applicazione su Google
L'applicazione deve identificarsi ogni volta che invia una richiesta all'API Google Fonts Developer, includendo una chiave API con ogni richiesta.
Acquisizione e utilizzo di una chiave API
Ottieni una chiaveIn alternativa, creane una nella pagina Credenziali.
Dopo che hai ottenuto una chiave API, la tua applicazione può aggiungere il parametro di query key=yourAPIKey
a tutti gli URL delle richieste.
La chiave API è sicura per l'incorporamento negli URL, non richiede alcuna codifica.
Dettagli
La risposta JSON (vedi l'esempio sopra) è composta da un array chiamato "items" che contiene oggetti con informazioni su ogni famiglia di caratteri.
Un oggetto della famiglia è composto dai seguenti campi:
- kind: il tipo di oggetto, un oggetto webfont
- family: il nome della famiglia
- sottoinsiemi: un elenco di script supportati dalla famiglia
- menu: un URL al sottoinsieme della famiglia che copre solo il nome della famiglia.
- varianti: i diversi stili disponibili per la famiglia
- version: la versione della famiglia di caratteri.
- assi: intervallo asse, presenta solo su richiesta(vedi sotto) per caratteri variabili.
- lastModified: la data (formato "aaaa-MM-gg") in cui la famiglia di caratteri è stata modificata per l'ultima volta.
- file: i file della famiglia di caratteri (con tutti gli script supportati) per ogni variante disponibile.
Combinando le informazioni per ogni famiglia, è facile creare una richiesta di API Fonts. Ad esempio, supponendo di avere un riferimento all'oggetto famiglia per Nest Pro:
[...] 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(''); [...]
Ordinamento
Per impostazione predefinita, l'elenco delle famiglie viene restituito in ordine decrescente. Tuttavia, è possibile ordinare l'elenco utilizzando il parametro di ordinamento:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
I possibili valori di ordinamento sono:
- alpha: ordina l'elenco in ordine alfabetico
- date: ordina l'elenco per data di aggiunta (fonte più recente aggiunto o aggiornato per primo)
- popolarità: ordina l'elenco per popolarità (prima le famiglie più popolari)
- stile: ordina l'elenco per il numero di stili disponibili (famiglia con la maggior parte degli stili per primi)
- Tendenze: ordina l'elenco in base alle famiglie che registrano una crescita nell'utilizzo (la famiglia che registra la crescita maggiore per prima)
Applicazione dei filtri
Query su una famiglia specifica
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Tutte le famiglie che supportano il sottoinsieme greco
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
Ottimizzazione
Per recuperare file di caratteri compressi in formato woff2
https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2
Caratteri variabili
I caratteri variabili offrono una serie di stili continui. Per impostazione predefinita, viene restituita una combinazione di file di caratteri statici per i caratteri variabili creati in posizioni standard.
Se il criterio capability=VF
è impostato, viene restituito il file del carattere variabile invece di quelli statici insieme ai metadati dell'intervallo di assi disponibili.
Esempio di esempio:
https://www.googleapis.com/webfonts/v1/webfonts?capability=VF
Esempio di risposta:
{ "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 } ] }, [...] ] }
Specifiche URL API
webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]
your_key
: la chiave API dello sviluppatore.
family
: il nome di una famiglia di caratteri.
subset
: nome di un sottoinsieme di caratteri.
capability
: VF
| WOFF2
.
sort
: alpha
| date
| popularity
| style
| trending
.