Deskripsi
Gunakan chrome.fontSettings API untuk mengelola setelan font Chrome.
Izin
fontSettingsUntuk menggunakan Font Settings API, Anda harus mendeklarasikan izin "fontSettings" di manifes
ekstensi. Contoh:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
Konsep dan penggunaan
Chrome memungkinkan beberapa setelan font bergantung pada kelompok font umum dan skrip bahasa tertentu. Misalnya, font yang digunakan untuk sans-serif Bahasa China Aksara Sederhana mungkin berbeda dengan font yang digunakan untuk serif Bahasa Jepang.
Jenis font umum yang didukung oleh Chrome didasarkan pada jenis font umum CSS dan
tercantum di bagian GenericReference. Jika halaman web menentukan kelompok font umum, Chrome akan memilih
font berdasarkan setelan yang sesuai. Jika tidak ada kelompok font umum yang ditentukan, Chrome akan menggunakan
setelan untuk kelompok font umum "standar".
Jika halaman web menentukan bahasa, Chrome akan memilih font berdasarkan setelan untuk skrip bahasa yang sesuai. Jika tidak ada bahasa yang ditentukan, Chrome akan menggunakan setelan untuk skrip default, atau global.
Skrip bahasa yang didukung ditentukan oleh kode skrip ISO 15924 dan tercantum di bagian
ScriptCode. Secara teknis, setelan Chrome tidak sepenuhnya per skrip, tetapi juga bergantung pada
bahasa. Misalnya, Chrome memilih font untuk Sirilik (kode skrip ISO 15924 "Cyrl") saat
halaman web menentukan bahasa Rusia, dan menggunakan font ini tidak hanya untuk skrip Sirilik, tetapi untuk
semua yang dicakup font, seperti Latin.
Contoh
Kode berikut mendapatkan font standar untuk bahasa Arab.
browser.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
Cuplikan berikutnya menetapkan font sans-serif untuk bahasa Jepang.
browser.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
Untuk mencoba API ini, instal contoh fontSettings API dari repositori chrome-extension-samples.
Jenis
FontName
Mewakili nama font.
Properti
-
Nama Tampilan
string
Nama tampilan font.
-
fontId
string
ID font.
GenericFamily
Jenis font generik CSS.
Enum
"standard"
"sansserif"
"serif"
"fixed"
"cursive"
"fantasy"
"math"
LevelOfControl
Salah satu dari
not\_controllable: tidak dapat dikontrol oleh ekstensi apa pun
controlled\_by\_other\_extensions: dikontrol oleh ekstensi dengan prioritas lebih tinggi
controllable\_by\_this\_extension: dapat dikontrol oleh ekstensi ini
controlled\_by\_this\_extension: dikontrol oleh ekstensi ini
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Kode skrip ISO 15924. Skrip default, atau global, diwakili oleh kode skrip "Zyyy".
Enum
"Afak"
"Arab"
"Aran"
"Armi"
"Armn"
"Avst"
"Bali"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
"Kaleng"
"Cari"
"Cham"
"Cher"
"Cirt"
"Copt"
"Cprt"
"Cyrl"
"Cyrs"
"Deva"
"Dsrt"
"Dupl"
"Egyd"
"Egyh"
"Egyp"
"Elba"
"Ethi"
"Geor"
"Geok"
"Glag"
"Goth"
"Gran"
"Grek"
"Gujr"
"Guru"
"Hang"
"Hani"
"Hano"
"Hans"
"Hant"
"Hebr"
"Hluw"
"Hmng"
"Hung"
"Inds"
"Ital"
"Java"
"Jpan"
"Jurc"
"Kali"
"Khar"
"Khmr"
"Khoj"
"Knda"
"Kpel"
"Kthi"
"Lana"
"Laoo"
"Latf"
"Latg"
"Latn"
"Lepc"
"Limb"
"Lina"
"Linb"
"Lisu"
"Loma"
"Lyci"
"Lydi"
"Mand"
"Mani"
"Maya"
"Mend"
"Merc"
"Mero"
"Mlym"
"Bulan"
"Mong"
"Mroo"
"Mtei"
"Mymr"
"Narb"
"Nbat"
"Nkgb"
"Nkoo"
"Nshu"
"Ogam"
"Olck"
"Orkh"
"Orya"
"Osma"
"Palm"
"Perm"
"Phag"
"Phli"
"Phlp"
"Phlv"
"Phnx"
"Plrd"
"Prti"
"Rjng"
"Roro"
"Runr"
"Samr"
"Sara"
"Sarb"
"Saur"
"Sgnw"
"Shaw"
"Shrd"
"Sind"
"Sinh"
"Sora"
"Sund"
"Sylo"
"Syrc"
"Syre"
"Syrj"
"Syrn"
"Tagb"
"Takr"
"Tale"
"Talu"
"Taml"
"Tang"
"Tavt"
"Telu"
"Teng"
"Tfng"
"Tglg"
"Thaa"
"Thai"
"Tibt"
"Tirh"
"Ugar"
"Vaii"
"Visp"
"Wara"
"Wole"
"Xpeo"
"Xsux"
"Yiii"
"Zmth"
"Zsym"
"Zyyy"
Metode
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
Menghapus ukuran font tetap default yang ditetapkan oleh ekstensi ini, jika ada.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
Hasil
-
Promise<void>
Chrome 96+
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
Menghapus ukuran font default yang ditetapkan oleh ekstensi ini, jika ada.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
Hasil
-
Promise<void>
Chrome 96+
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
Menghapus font yang ditetapkan oleh ekstensi ini, jika ada.
Parameter
-
detail
objek
-
genericFamily
Jenis font generik yang font-nya harus dihapus.
-
skrip
ScriptCode opsional
Skrip yang font-nya harus dihapus. Jika dihilangkan, setelan font skrip global akan dihapus.
-
Hasil
-
Promise<void>
Chrome 96+
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
Menghapus ukuran font minimum yang ditetapkan oleh ekstensi ini, jika ada.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
Hasil
-
Promise<void>
Chrome 96+
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
Mendapatkan ukuran default untuk font lebar tetap.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
Hasil
-
Promise<object>
Chrome 96+
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
Mendapatkan ukuran font default.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
Hasil
-
Promise<object>
Chrome 96+
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
Mendapatkan font untuk skrip dan jenis font generik tertentu.
Parameter
-
detail
objek
-
genericFamily
Jenis font generik yang harus diambil.
-
skrip
ScriptCode opsional
Skrip yang font-nya harus diambil. Jika dihilangkan, setelan font untuk skrip global (kode skrip "Zyyy") akan diambil.
-
Hasil
-
Promise<object>
Chrome 96+
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
Mendapatkan daftar font di sistem.
Hasil
-
Promise<FontName[]>
Chrome 96+
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
Mendapatkan ukuran font minimum.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
Hasil
-
Promise<object>
Chrome 96+
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
Menetapkan ukuran default untuk font lebar tetap.
Parameter
-
detail
objek
-
pixelSize
angka
Ukuran font dalam piksel.
-
Hasil
-
Promise<void>
Chrome 96+
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
Menetapkan ukuran font default.
Parameter
-
detail
objek
-
pixelSize
angka
Ukuran font dalam piksel.
-
Hasil
-
Promise<void>
Chrome 96+
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
Menetapkan font untuk skrip dan kelompok font umum tertentu.
Parameter
-
detail
objek
-
fontId
string
ID font. String kosong berarti kembali ke setelan font skrip global.
-
genericFamily
Jenis font umum yang harus ditetapkan untuk font.
-
skrip
ScriptCode opsional
Kode skrip yang font-nya harus ditetapkan. Jika dihilangkan, setelan font untuk skrip global (kode skrip "Zyyy") akan ditetapkan.
-
Hasil
-
Promise<void>
Chrome 96+
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
Menetapkan ukuran font minimum.
Parameter
-
detail
objek
-
pixelSize
angka
Ukuran font dalam piksel.
-
Hasil
-
Promise<void>
Chrome 96+
Acara
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Diaktifkan saat setelan ukuran font tetap default berubah.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Diaktifkan saat setelan ukuran font default berubah.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Diaktifkan saat setelan font berubah.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(details: object) => void
-
detail
objek
-
fontId
string
ID font. Lihat deskripsi di
getFont. -
genericFamily
Jenis font umum yang setelan font-nya telah diubah.
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
skrip
ScriptCode opsional
Kode skrip yang setelan font-nya telah berubah.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Diaktifkan saat setelan ukuran font minimum berubah.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-