Deskripsi
Gunakan chrome.fontSettings
API untuk mengelola setelan font Chrome.
Izin
fontSettings
Untuk menggunakan Font Settings API, Anda harus mendeklarasikan izin "fontSettings"
dalam 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 jenis font dan skrip bahasa umum tertentu. Misalnya, font yang digunakan untuk Sans-serif China Aksara Sederhana mungkin berbeda dengan font yang digunakan untuk bahasa Jepang serif.
Jenis font umum yang didukung oleh Chrome didasarkan pada jenis font umum CSS dan
dicantumkan dalam GenericReference
. Saat halaman web menentukan jenis font generik, Chrome akan memilih
font berdasarkan setelan yang sesuai. Jika jenis font umum tidak ditentukan, Chrome akan menggunakan
setelan untuk jenis font umum "standar".
Saat 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 dicantumkan di
ScriptCode
. Secara teknis, setelan Chrome tidak semata-mata 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 juga untuk
semua sampul font, seperti Latin.
Contoh
Kode berikut mendapatkan font standar untuk bahasa Arab.
chrome.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
Cuplikan berikutnya menetapkan font sans-serif untuk bahasa Jepang.
chrome.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
Untuk mencoba API ini, instal contoh fontSettings API dari repositori chrome-extension-samples.
Jenis
FontName
Menampilkan nama font.
Properti
-
displayName
string
Nama tampilan font.
-
fontId
string
ID font.
GenericFamily
Jenis font umum CSS.
Enum
"sansserif"
"serif"
LevelOfControl
Salah satu dari
not\_controllable
: tidak dapat dikontrol oleh ekstensi mana 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"
"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"
"Armi"
"Armn"
"Avst"
"Bali"
"Bamu"
"Bass"
"Batk"
"Beng"
"Blis"
"Bopo"
"Brah"
"Brai"
"Bugi"
"Cakm"
"Cari"
"Cham"
"Cprt"
"Cyrl"
"Deva"
"Dsrt"
"Dupl"
"Elba"
"Geor"
"Geok"
"Glag"
"Grek"
"Gujr"
"Guru"
"Hang"
"Hani"
"Hano"
"Hans"
"Hant"
"Hluw"
"Hmng"
"Hung"
"Java"
"Jpan"
"Jurc"
"Kali"
"Khar"
"Khmr"
"Khoj"
"Knda"
"Kpel"
"Kthi"
"Lana"
"Laoo"
"Latf"
"Latg"
"Latn"
"Lepc"
"Limb"
"Lina"
"Linb"
"Loma"
"Lyci"
"Lydi"
"Mand"
"Mani"
"Maya"
"Mend"
"Merc"
"Mero"
"Mlym"
"Mong"
"Mroo"
"Mtei"
"Mymr"
"Narb"
"Nbat"
"Nkgb"
"Nkoo"
"Nshu"
"Ogam"
"Olck"
"Orkh"
"Orya"
"Osma"
"Perm"
"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"
"Takr"
"Talu"
"Taml"
"Tang"
"Tavt"
"Telu"
"Teng"
"Tfng"
"Tglg"
"Tibt"
"Tirh"
"Ugar"
"Vaii"
"Visp"
"Wara"
"Wole"
"Xpeo"
"Xsux"
"Zmth"
"Zsym"
"Zyyy"
Metode
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
Menghapus ukuran font tetap default yang disetel oleh ekstensi ini, jika ada.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
Menghapus ukuran font default yang disetel oleh ekstensi ini, jika ada.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
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.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
Menghapus ukuran font minimum yang disetel oleh ekstensi ini, jika ada.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
Mendapatkan ukuran default untuk font dengan lebar tetap.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
Hasil
-
Promise<object>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
Mendapatkan ukuran font default.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
Hasil
-
Promise<object>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
Mendapatkan font untuk skrip tertentu dan jenis font umum.
Parameter
-
detail
objek
-
genericFamily
Jenis font generik yang font-nya akan diambil.
-
skrip
ScriptCode opsional
Skrip untuk font yang akan diambil. Jika dihilangkan, setelan font untuk skrip global (kode skrip "Zyyy") diambil.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
fontId
string
ID font. Bukan nilai preferensi ID font literal, ini mungkin ID font yang di-resolve sistem nilai preferensi. Jadi,
fontId
dapat berbeda dari font yang diteruskan kesetFont
, jika, misalnya, font tidak tersedia di sistem. String kosong menandakan penggantian ke setelan font skrip global. -
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
-
Hasil
-
Promise<object>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
Mendapatkan daftar font pada sistem.
Parameter
Hasil
-
Promise<FontName[]>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
Mendapatkan ukuran font minimum.
Parameter
-
detail
objek opsional
Parameter ini saat ini tidak digunakan.
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
Hasil
-
Promise<object>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
Menetapkan ukuran default untuk font dengan lebar tetap.
Parameter
-
detail
objek
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
Menetapkan ukuran font default.
Parameter
-
detail
objek
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
)
Menetapkan font untuk skrip tertentu dan jenis font generik.
Parameter
-
detail
objek
-
fontId
string
ID font. String kosong berarti fallback ke setelan font skrip global.
-
genericFamily
Jenis font generik yang font-nya harus ditetapkan.
-
skrip
ScriptCode opsional
Kode skrip yang font-nya harus disetel. Jika dihilangkan, setelan font untuk skrip global (kode skrip "Zyyy") akan ditetapkan.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
)
Menetapkan ukuran font minimum.
Parameter
-
detail
objek
-
pixelSize
angka
Ukuran font dalam piksel.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
Peristiwa
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Diaktifkan saat setelan ukuran font tetap default berubah.
Parameter
-
callback
fungsi
Parameter
callback
terlihat 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
callback
terlihat 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
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
fontId
string
ID font. Lihat deskripsinya dalam bahasa
getFont
. -
genericFamily
Jenis font umum yang setelan fontnya telah diubah.
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
skrip
ScriptCode opsional
Kode skrip yang setelan fontnya telah diubah.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Diaktifkan saat setelan ukuran font minimum berubah.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(details: object) => void
-
detail
objek
-
levelOfControl
Tingkat kontrol yang dimiliki ekstensi ini atas setelan.
-
pixelSize
angka
Ukuran font dalam piksel.
-
-