Die Developer API gewährt Zugriff auf die Metadaten für alle von Google Fonts bereitgestellten Familien. So können Anwendungen Google Fonts nach den verfügbaren Schriftfamilien abfragen. Die REST API stellt Daten im JSON-Format bereit, das die Stile und Skripts in jeder Familie (in Google Fonts als Teilmengen bezeichnet) enthält. Die API kann die Liste der Familien alphabetisch, nach Hinzufügungsdatum, Anzahl der Stile, Trend oder Beliebtheit sortieren.
Zielgruppe
Dieses Dokument richtet sich an Web- und Anwendungsentwickler. Für die Verwendung der Developer API sind JavaScript-Kenntnisse erforderlich.
Kurzes Beispiel
Senden Sie die folgende Anfrage, um die vom Google Fonts-Dienst angebotene dynamische Liste der Schriftarten abzurufen:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Ein Beispiel für das Ergebnis würde so aussehen:
{ "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" }, [...] ] }
Identifizierung Ihrer Anwendung bei Google
Ihre Anwendung muss sich jedes Mal identifizieren, wenn sie eine Anfrage an die Google Fonts Developer API sendet. Dazu müssen Sie für jede Anfrage einen API-Schlüssel angeben.
API-Schlüssel erhalten und nutzen
Schlüssel anfordernAlternativ können Sie auf der Seite "Anmeldedaten" einen Schlüssel erstellen.
Nachdem Sie einen API-Schlüssel haben, kann Ihre Anwendung den Abfrageparameter key=yourAPIKey
an alle Anfrage-URLs anhängen.
Der API-Schlüssel lässt sich sicher in URLs einbetten. Eine Codierung ist nicht notwendig.
Details
Die JSON-Antwort (siehe Beispiel oben) besteht aus einem Array namens „items“, das Objekte mit Informationen zu den einzelnen Schriftfamilien enthält.
Ein Familienobjekt besteht aus den folgenden Feldern:
- kind: die Art des Objekts (ein Webfont-Objekt)
- Familie: der Name der Familie
- Teilmenges: Eine Liste der Skripts, die von der Familie unterstützt werden
- Menü: Eine URL zu der Untergruppe von Familiengruppen, die nur den Namen der Familie umfasst.
- Varianten: die verschiedenen Stile, die für die Produktfamilie verfügbar sind
- version: Die Version der Schriftfamilie.
- Achsen: Achsenbereich; nur auf Anfrage vorhanden(siehe unten) für variable Schriftarten.
- lastModified: Das Datum im Format "yyyy-MM-dd", an dem die Schriftfamilie zuletzt geändert wurde.
- -Dateien: Die Schriftfamiliendateien (mit allen unterstützten Skripts) für jede der verfügbaren Varianten.
Durch die Kombination der Informationen für jede Familie ist es einfach, eine Fonts API-Anfrage zu erstellen. Angenommen, wir haben einen Verweis auf das Familienobjekt für Anonymous 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(''); [...]
Sortieren
Die Liste der Familien wird standardmäßig in keiner bestimmten Reihenfolge zurückgegeben. Es ist jedoch möglich, die Liste mithilfe des Sortierparameters zu sortieren:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
Folgende Sortierwerte sind möglich:
- Alpha: Liste alphabetisch sortieren
- date: Liste nach Datum sortieren (neueste hinzugefügt oder aktualisiert)
- Beliebtheit: Liste nach Beliebtheit sortieren (beliebteste Familie zuerst)
- style: Liste nach Anzahl der verfügbaren Stile sortieren (Familie mit den meisten Stilen zuerst)
- Trends: Die Liste nach Familien sortieren, deren Nutzung wächst (die Familie verzeichnet das größte Wachstum zuerst)
Wird gefiltert
Bestimmte Familie abfragen
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Alle Familien, die die griechische Untergruppe unterstützen
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
Optimierung
Zum Abrufen von im WOFF2-Format komprimierte Schriftartdateien
https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2
Variable Schriftarten
Variable Schriftarten bieten eine durchgängige Auswahl an Stilen. Standardmäßig wird für variable Schriftarten, die an Standardpositionen instanziiert sind, eine Kombination aus statischen Schriftartdateien zurückgegeben.
Wenn capability=VF
festgelegt ist, wird zusammen mit den verfügbaren Metadaten für den Achsenbereich die Variable Schriftartdatei anstelle einer statischen Schriftart zurückgegeben. Beispiel:
https://www.googleapis.com/webfonts/v1/webfonts?capability=VF
Beispielantwort:
{ "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-Spezifikation
webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]
your_key
: Ihr Entwickler-API-Schlüssel.
family
: Name einer Schriftfamilie.
subset
: Name einer Schriftart-Teilmenge.
capability
: VF
| WOFF2
.
sort
: alpha
| date
| popularity
| style
| trending
.