Developer API מאפשר גישה למטא-נתונים של כל המשפחות שמוצגות על ידי Google Fonts. הוא מאפשר לאפליקציות לשלוח שאילתות ל-Google Fonts לגבי משפחות הגופנים הזמינות. ה-API ל-REST מספק נתונים בפורמט JSON שכוללים את הסגנונות והסקריפטים (שנקראים 'קבוצות משנה' ב-Google Fonts) בכל משפחה. ממשק ה-API יכול למיין את רשימת המשפחות לפי סדר אלפביתי, לפי תאריך ההוספה, לפי מספר הסגנונות, לפי מגמות או לפי פופולריות.
קהל
המסמך הזה מיועד למפתחי אתרים ואפליקציות. כדי להשתמש ב-Developer API, צריך ידע ב-JavaScript.
דוגמה מהירה
כדי לאחזר את הרשימה הדינמית של הגופנים שמוצעים על ידי שירות Google Fonts, שולחים את הבקשה הבאה:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
דוגמה לתוצאה נראית כך:
{ "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
האפליקציה צריכה לזהות את עצמה בכל פעם שהיא שולחת בקשה ל-Google Fonts Developer API, על ידי הכללת מפתח API בכל בקשה.
קבלה של מפתח API ושימוש בו
קבלת מפתחלחלופין, אפשר ליצור אחד בדף Credentials.
אחרי שתקבלו מפתח API, תוכלו להוסיף את פרמטר השאילתה key=yourAPIKey
לכל כתובות ה-URL של הבקשות.
מפתח ה-API בטוח להטמעה בכתובות URL, ואין צורך בקידוד שלו.
פרטים
תגובת ה-JSON (ראו דוגמה למעלה) מורכבת ממערך בשם 'items' שמכיל אובייקטים עם מידע על כל משפחת גופנים.
אובייקט משפחה מורכב מהשדות הבאים:
- kind: סוג האובייקט, אובייקט של גופן אינטרנט
- family: שם המשפחה
- קבוצות משנה: רשימת הסקריפטים הנתמכים במשפחה
- menu: כתובת URL לקבוצת המשנה של המשפחה, שמכילה רק את שם המשפחה.
- variants: הסגנונות השונים שזמינים למשפחה
- version: גרסת משפחת הגופנים.
- axes: טווח צירים, מוצג רק לפי בקשה(ראו בהמשך) לגבי גופנים משתנים.
- lastModified: התאריך (בפורמט 'yyyy-MM-dd') שבו משפחת הגופנים שונתה בפעם האחרונה.
- files: קבצי משפחת הגופן (עם כל הסקריפטים הנתמכים) לכל אחד מהוריאנטים הזמינים.
שילוב המידע של כל משפחה מאפשר ליצור בקשה ל-Fonts API בקלות. לדוגמה, נניח שיש לנו הפניה לאובייקט המשפחה של 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(''); [...]
מיון
כברירת מחדל, רשימת המשפחות מוחזרת ללא סדר מסוים. עם זאת, אפשר למיין את הרשימה באמצעות פרמטר המיון:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
הערכים האפשריים למיון הם:
- alpha: מיון הרשימה לפי סדר אלפביתי
- date: מיון הרשימה לפי תאריך ההוספה (הגופן האחרון שנוסף או עודכן מוצג ראשון)
- popularity: מיון הרשימה לפי פופולריות (המשפחה הפופולרית ביותר קודם)
- style: מיון הרשימה לפי מספר הסגנונות הזמינים (המשפחה עם הכי הרבה סגנונות מופיעה קודם)
- פופולריות: מיון הרשימה לפי משפחות שרואים בהן עלייה בשימוש (המשפחה שרואים בה את העלייה הגדולה ביותר מופיעה קודם)
סינון
שליחת שאילתה לגבי משפחה ספציפית
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
כל המשפחות שתומכות בקבוצת משנה של יוונית
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
סינון לפי קטגוריית גופן
https://www.googleapis.com/webfonts/v1/webfonts?category=category_name
אופטימיזציה
לאחזור קובצי גופנים שהולחצו בפורמט woff2
https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2
גופנים משתנים
גופנים משתנים מציעים טווחים רציפים של סגנונות. כברירת מחדל, מוצג שילוב של קבצים של גופנים סטטיים לגופנים משתנים שנוצרו במיקומים רגילים.
אם מגדירים את capability=VF
, קובץ הגופן המשתנה מוחזר במקום קבצים סטטיים, יחד עם המטא-נתונים של טווח הצירים הזמינים. דוגמה:
https://www.googleapis.com/webfonts/v1/webfonts?capability=VF
דוגמה לתשובה:
{ "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 } ] }, [...] ] }
מפרט כתובת URL של API
webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]
your_key
: מפתח ה-API שלכם לפיתוח.
family
: השם של משפחת הגופנים.
subset
: השם של קבוצת משנה של גופן.
category
: serif
| sans-serif
| monospace
| display
| handwriting
capability
: VF
| WOFF2
.
sort
: alpha
| date
| popularity
| style
| trending
.