Developer API memberikan akses ke metadata untuk semua keluarga yang ditayangkan oleh Google Fonts. Hal ini memungkinkan aplikasi untuk melakukan kueri Google Fonts untuk jenis font yang tersedia. Tujuan REST API menyediakan data dalam format JSON yang mencakup gaya dan skrip (disebut subset di Google Fonts) di setiap kelompok. API dapat mengurutkan daftar keluarga menurut abjad, berdasarkan tanggal ditambahkan, jumlah gaya, tren, atau popularitas.
Audiens
Dokumen ini ditujukan untuk developer web dan aplikasi. Menggunakan 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 aplikasi Anda ke Google
Aplikasi Anda perlu mengidentifikasi dirinya sendiri setiap kali mengirim permintaan ke Google Fonts Developer API, dengan menyertakan kunci API bersama permintaan.
Mendapatkan dan menggunakan kunci API
Dapatkan KunciAtau buat satu di halaman Credentials.
Setelah Anda memiliki kunci API, aplikasi Anda dapat menambahkan parameter kueri
key=yourAPIKey
ke semua URL permintaan.
Kunci API aman untuk disematkan dalam URL; dan 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:
- type: Jenis objek, objek webfont
- keluarga: 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 presentasi berdasarkan permintaan(lihat di bawah) untuk font variabel.
- lastModified: Tanggal (format "yyyy-MM-dd") jenis font yang telah diubah terakhir kalinya.
- file: File jenis font (dengan semua skrip yang didukung) untuk setiap yang tersedia.
Dengan menggabungkan informasi untuk setiap keluarga, akan mudah untuk membuat Fonts API permintaan. Misalnya dengan asumsi kita memiliki referensi ke objek keluarga untuk Pro Anonim:
[...] 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 dalam urutan tertentu secara default. Penting mungkin untuk 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 penambahan (font terbaru yang ditambahkan atau diperbarui terlebih dahulu)
- popularitas: Urutkan daftar berdasarkan popularitas (keluarga paling populer terlebih dahulu)
- style: Mengurutkan daftar berdasarkan jumlah corak yang tersedia (keluarga dengan sebagian besar gaya pertama)
- trending: Urutkan daftar menurut keluarga yang mengalami pertumbuhan penggunaan (keluarga melihat pertumbuhan tertinggi terlebih dahulu)
Pemfilteran
Membuat kueri keluarga tertentu
https://www.googleapis.com/webfonts/v1/webfonts?family=family_name
Semua keluarga yang mendukung subkumpulan 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 {i>default<i}, kombinasi
file font statis ditampilkan untuk font variabel yang dibuat instance-nya pada
posisi saat ini.
Jika capability=VF
ditetapkan, file font variabel akan ditampilkan, bukan statis
angka satu 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.
capability
: VF
| WOFF2
.
sort
: alpha
| date
| popularity
| style
| trending
.