Developer API memberikan akses ke metadata untuk semua keluarga yang dilayani oleh Google Fonts. API ini memungkinkan aplikasi mengkueri Google Fonts untuk jenis font yang tersedia. REST API menyediakan data dalam format JSON yang menyertakan gaya dan skrip (disebut subset di Google Fonts) di setiap kelompok. API dapat mengurutkan daftar kelompok berdasarkan abjad, tanggal ditambahkan, jumlah gaya, tren, atau popularitas.
Audiens
Dokumen ini ditujukan untuk developer aplikasi dan web. Penggunaan Developer API memerlukan pengetahuan tentang JavaScript.
Contoh singkat
Untuk mengambil daftar font dinamis yang ditawarkan oleh layanan Google Fonts, kirim permintaan berikut:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Contoh hasil akan terlihat seperti ini:
{ "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" }, [...] ] }
Mengidentifikasi permohonan Anda ke Google
Aplikasi Anda perlu mengidentifikasi dirinya sendiri setiap kali mengirim permintaan ke Google Fonts Developer API, dengan menyertakan kunci API dengan setiap permintaan.
Mendapatkan dan menggunakan kunci API
Dapatkan KunciAtau buat akun di halaman Kredensial.
Setelah Anda memiliki kunci API, aplikasi Anda dapat menambahkan parameter kueri key=yourAPIKey
ke semua URL permintaan.
Kunci API aman untuk disematkan dalam URL; tidak memerlukan encoding.
Detail
Respons JSON (lihat contoh di atas) terdiri dari array bernama "items" yang berisi objek dengan informasi tentang setiap jenis font.
Objek keluarga terdiri dari kolom berikut:
- jenis: Objek, objek webfont
- family: Nama keluarga
- subset: Daftar skrip yang didukung oleh keluarga
- menu: URL ke subkumpulan keluarga yang hanya mencakup nama keluarga.
- varian: Berbagai gaya yang tersedia untuk keluarga
- version: Versi jenis font.
- sumbu: Rentang sumbu, Hanya muncul berdasarkan permintaan(lihat di bawah) untuk font variabel.
- lastModified: Tanggal (format "yyyy-MM-dd") jenis font diubah untuk terakhir kali.
- file: File jenis font (dengan semua skrip yang didukung) untuk setiap varian yang tersedia.
Mudah untuk membuat permintaan API Fonts dengan menggabungkan informasi untuk setiap keluarga. Misalnya, dengan asumsi bahwa kita memiliki referensi ke objek keluarga untuk Anonim 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(''); [...]
Pengurutan
Daftar keluarga tidak ditampilkan secara default dalam urutan tertentu. Namun, Anda dapat mengurutkan daftar menggunakan parameter pengurutan:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
Nilai pengurutan yang memungkinkan adalah:
- alfa: Urutkan daftar menurut abjad
- date: Mengurutkan daftar berdasarkan tanggal ditambahkan (font terbaru ditambahkan atau diperbarui terlebih dahulu)
- popularitas: Urutkan daftar berdasarkan popularitas (keluarga paling populer terlebih dahulu)
- style: Mengurutkan daftar berdasarkan jumlah gaya yang tersedia (keluarga dengan gaya terlebih dahulu)
- trending: Urutkan daftar menurut keluarga yang mengalami peningkatan penggunaan (keluarga mengalami pertumbuhan terbesar)
Pemfilteran
Membuat kueri untuk grup keluarga tertentu
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Semua keluarga yang mendukung subkumpulan bahasa Yunani
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
Pengoptimalan
Untuk mengambil file font yang dikompresi dalam format woff2
https://www.googleapis.com/webfonts/v1/webfonts?capability=WOFF2
Font Variabel
Font variabel menawarkan rentang gaya yang berkelanjutan. Secara default, kombinasi file font statis ditampilkan untuk font variabel yang dibuat pada posisi standar.
Jika capaibility=VF
disetel, file font variabel akan ditampilkan, bukan statis,
beserta metadata rentang sumbu yang tersedia.
contoh contoh:
https://www.googleapis.com/webfonts/v1/webfonts?capaibility=VF
Contoh respons:
{ "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 } ] }, [...] ] }
Spesifikasi URL API
webfonts?key=<your_key>[&family=<family>][&subset=<subset>][&capability=<capability>...][&sort=<sort>]
your_key
: Kunci API developer Anda.
family
: Nama jenis font.
subset
: Nama subset font.
capability
: VF
| WOFF2
sort
: alpha
| date
| popularity
| style
| trending
.