Developer API memberikan akses ke metadata untuk semua jenis font yang ditayangkan oleh Google Fonts. Hal 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 keluarga. API dapat mengurutkan daftar keluarga menurut abjad, berdasarkan tanggal ditambahkan, berdasarkan jumlah gaya, berdasarkan tren, atau berdasarkan popularitas.
Audiens
Dokumen ini ditujukan untuk developer web dan aplikasi. Penggunaan Developer API memerlukan pengetahuan JavaScript.
Contoh singkat
Untuk mengambil daftar font dinamis yang ditawarkan oleh layanan Google Fonts, kirimkan permintaan berikut:
https://www.googleapis.com/webfonts/v1/webfonts?key=YOUR-API-KEY
Contoh hasilnya 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 aplikasi Anda ke Google
Aplikasi Anda harus mengidentifikasi dirinya setiap kali mengirim permintaan ke Google Fonts Developer API, dengan menyertakan kunci API dengan setiap permintaan.
Mendapatkan dan menggunakan kunci API
Dapatkan KunciAtau, buat di halaman Credentials.
Setelah memiliki kunci API, aplikasi Anda dapat menambahkan parameter kueri key=yourAPIKey
ke semua URL permintaan.
Kunci API aman untuk disematkan di URL; kunci API tidak memerlukan encoding apa pun.
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:
- kind: Jenis objek, objek webfont
- family: Nama keluarga
- subsets: Daftar skrip yang didukung oleh keluarga
- menu: URL ke subset keluarga yang hanya mencakup nama keluarga.
- varian: Berbagai gaya yang tersedia untuk keluarga
- version: Versi jenis font.
- axes: Rentang sumbu, Hanya ada jika diminta(lihat di bawah) untuk font variabel.
- lastModified: Tanggal (format "yyyy-MM-dd") jenis font terakhir kali diubah.
- file: File jenis font (dengan semua skrip yang didukung) untuk setiap varian yang tersedia.
Dengan menggabungkan informasi untuk setiap jenis font, Anda dapat dengan mudah membuat permintaan Fonts API. Misalnya, dengan asumsi kita memiliki referensi ke objek keluarga untuk 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(''); [...]
Pengurutan
Daftar keluarga ditampilkan dalam urutan tertentu secara default. Namun, Anda dapat mengurutkan daftar menggunakan parameter pengurutan:
https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity
Nilai pengurutan yang mungkin adalah:
- alpha: Mengurutkan daftar menurut abjad
- date: Mengurutkan daftar berdasarkan tanggal ditambahkan (font terbaru ditambahkan atau diperbarui terlebih dahulu)
- popularity: Mengurutkan daftar berdasarkan popularitas (keluarga terpopuler terlebih dahulu)
- style: Mengurutkan daftar berdasarkan jumlah gaya yang tersedia (keluarga dengan gaya terbanyak terlebih dahulu)
- trending: Mengurutkan daftar menurut keluarga yang mengalami peningkatan penggunaan (keluarga yang mengalami peningkatan terbanyak terlebih dahulu)
Pemfilteran
Membuat kueri untuk keluarga tertentu
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Semua keluarga yang mendukung subset Yunani
https://www.googleapis.com/webfonts/v1/webfonts?subset=subset_name
Memfilter menurut kategori font
https://www.googleapis.com/webfonts/v1/webfonts?category=category_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 instance-nya pada posisi
standar.
Jika capability=VF
ditetapkan, file font variabel akan ditampilkan, bukan file statis,
beserta metadata rentang sumbu yang tersedia.
contoh contoh:
https://www.googleapis.com/webfonts/v1/webfonts?capability=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.
category
: serif
| sans-serif
| monospace
| display
| handwriting
capability
: VF
| WOFF2
.
sort
: alpha
| date
| popularity
| style
| trending
.