Opis
Użyj interfejsu chrome.fontSettings
API, aby zarządzać ustawieniami czcionek w Chrome.
Uprawnienia
fontSettings
Aby korzystać z interfejsu Font Settings API, musisz zadeklarować uprawnienie "fontSettings"
w pliku manifestu rozszerzenia. Na przykład:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
Pojęcia i zastosowanie
Chrome umożliwia uzależnienie niektórych ustawień czcionek od określonych ogólnych rodzin czcionek i skryptów językowych. Na przykład czcionka używana w przypadku chińskiego uproszczonego bezszeryfowego może być inna niż czcionka używana w przypadku japońskiego szeryfowego.
Ogólne rodziny czcionek obsługiwane przez Chrome są oparte na ogólnych rodzinach czcionek CSS i są wymienione w sekcji GenericReference
. Gdy strona internetowa określa ogólną rodzinę czcionek, Chrome wybiera czcionkę na podstawie odpowiedniego ustawienia. Jeśli nie określono żadnej ogólnej rodziny czcionek, Chrome używa ustawienia „standardowej” ogólnej rodziny czcionek.
Gdy strona internetowa określa język, Chrome wybiera czcionkę na podstawie ustawienia odpowiedniego skryptu językowego. Jeśli nie określono języka, Chrome używa ustawienia domyślnego lub globalnego skryptu.
Obsługiwane alfabety są określone przez kod alfabetu ISO 15924 i wymienione w sekcji ScriptCode
. Technicznie ustawienia Chrome nie są ściśle powiązane ze skryptem, ale zależą też od języka. Na przykład Chrome wybiera czcionkę dla cyrylicy (kod alfabetu ISO 15924 „Cyrl”), gdy strona internetowa określa język rosyjski. Używa tej czcionki nie tylko w przypadku cyrylicy, ale też w przypadku wszystkich znaków, które obejmuje, np. łacińskich.
Przykłady
Poniższy kod pobiera standardową czcionkę dla języka arabskiego.
chrome.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
Kolejny fragment kodu ustawia czcionkę bezszeryfową dla języka japońskiego.
chrome.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
Aby wypróbować ten interfejs API, zainstaluj przykład interfejsu fontSettings API z repozytorium chrome-extension-samples.
Typy
FontName
Reprezentuje nazwę czcionki.
Właściwości
-
wyświetlanaNazwa
ciąg znaków
Wyświetlana nazwa czcionki.
-
fontId
ciąg znaków
Identyfikator czcionki.
GenericFamily
Ogólna rodzina czcionek CSS.
Typ wyliczeniowy
„standard”
"sansserif"
„serif”
„fixed”
„cursive”
„fantasy”
„math”
LevelOfControl
Jeden z tych stanów:not\_controllable
: nie można sterować za pomocą żadnego rozszerzeniacontrolled\_by\_other\_extensions
: sterowane przez rozszerzenia o wyższym prioryteciecontrollable\_by\_this\_extension
: można sterować za pomocą tego rozszerzeniacontrolled\_by\_this\_extension
: sterowane przez to rozszerzenie
Typ wyliczeniowy
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Kod alfabetu w formacie ISO 15924. Domyślny lub globalny skrypt jest reprezentowany przez kod skryptu „Zyyy”.
Typ wyliczeniowy
„Afak”
„Arab”
„Armi”
„Armn”
„Avst”
„Bali”
„Bamu”
„Bass”
„Batk”
„Beng”
„Blis”
„Bopo”
„Brah”
„Brai”
„Bugi”
„Buhd”
„Cakm”
„Puszki”
„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”
„Kończyna”
„Lina”
„Linb”
„Lisu”
„Loma”
„Lyci”
„Lydi”
„Mand”
„Mani”
„Maya”
„Mend”
„Merc”
„Mero”
„Mlym”
„Księżyc”
„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”
Metody
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
Usuwa domyślny stały rozmiar czcionki ustawiony przez to rozszerzenie (jeśli taki istnieje).
Parametry
-
szczegóły
obiekt opcjonalny
Ten parametr nie jest obecnie używany.
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
Usuwa domyślny rozmiar czcionki ustawiony przez to rozszerzenie (jeśli taki istnieje).
Parametry
-
szczegóły
obiekt opcjonalny
Ten parametr nie jest obecnie używany.
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
Usuwa czcionkę ustawioną przez to rozszerzenie, jeśli taka istnieje.
Parametry
-
szczegóły
obiekt
-
genericFamily
Ogólna rodzina czcionek, z której czcionka ma zostać usunięta.
-
pismo
ScriptCode opcjonalny
Skrypt, dla którego należy usunąć czcionkę. W przypadku pominięcia tej informacji globalne ustawienie czcionki skryptu zostanie wyczyszczone.
-
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
Usuwa minimalny rozmiar czcionki ustawiony przez to rozszerzenie (jeśli taki istnieje).
Parametry
-
szczegóły
obiekt opcjonalny
Ten parametr nie jest obecnie używany.
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
Pobiera domyślny rozmiar czcionek o stałej szerokości.
Parametry
-
szczegóły
obiekt opcjonalny
Ten parametr nie jest obecnie używany.
Zwroty
-
Promise<object>
Chrome w wersji 96 lub nowszej
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
Pobiera domyślny rozmiar czcionki.
Parametry
-
szczegóły
obiekt opcjonalny
Ten parametr nie jest obecnie używany.
Zwroty
-
Promise<object>
Chrome w wersji 96 lub nowszej
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
Pobiera czcionkę dla danego skryptu i ogólnej rodziny czcionek.
Parametry
-
szczegóły
obiekt
-
genericFamily
Ogólna rodzina czcionek, dla której należy pobrać czcionkę.
-
pismo
ScriptCode opcjonalny
Skrypt, dla którego należy pobrać czcionkę. Jeśli ten parametr zostanie pominięty, pobierane jest ustawienie czcionki dla skryptu globalnego (kod skryptu „Zyyy”).
-
Zwroty
-
Promise<object>
Chrome w wersji 96 lub nowszej
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
Pobiera listę czcionek w systemie.
Zwroty
-
Promise<FontName[]>
Chrome w wersji 96 lub nowszej
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
Pobiera minimalny rozmiar czcionki.
Parametry
-
szczegóły
obiekt opcjonalny
Ten parametr nie jest obecnie używany.
Zwroty
-
Promise<object>
Chrome w wersji 96 lub nowszej
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
Ustawia domyślny rozmiar czcionek o stałej szerokości.
Parametry
-
szczegóły
obiekt
-
pixelSize
liczba
Rozmiar czcionki w pikselach.
-
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
Ustawia domyślny rozmiar czcionki.
Parametry
-
szczegóły
obiekt
-
pixelSize
liczba
Rozmiar czcionki w pikselach.
-
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
Ustawia czcionkę dla danego skryptu i ogólnej rodziny czcionek.
Parametry
-
szczegóły
obiekt
-
fontId
ciąg znaków
Identyfikator czcionki. Pusty ciąg znaków oznacza powrót do globalnego ustawienia czcionki skryptu.
-
genericFamily
Ogólna rodzina czcionek, dla której ma zostać ustawiona czcionka.
-
pismo
ScriptCode opcjonalny
Kod skryptu, dla którego należy ustawić czcionkę. Jeśli ta informacja zostanie pominięta, zostanie ustawiona czcionka dla skryptu globalnego (kod skryptu „Zyyy”).
-
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
Ustawia minimalny rozmiar czcionki.
Parametry
-
szczegóły
obiekt
-
pixelSize
liczba
Rozmiar czcionki w pikselach.
-
Zwroty
-
Promise<void>
Chrome w wersji 96 lub nowszej
Wydarzenia
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Wyzwalane, gdy zmieni się domyślne ustawienie stałego rozmiaru czcionki.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
levelOfControl
Poziom kontroli, jaką rozszerzenie ma nad ustawieniem.
-
pixelSize
liczba
Rozmiar czcionki w pikselach.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Wysyłane, gdy zmieni się domyślny rozmiar czcionki.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
levelOfControl
Poziom kontroli, jaką rozszerzenie ma nad ustawieniem.
-
pixelSize
liczba
Rozmiar czcionki w pikselach.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Wyzwalane, gdy zmieni się ustawienie czcionki.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
fontId
ciąg znaków
Identyfikator czcionki. Opis znajdziesz w
getFont
. -
genericFamily
Ogólna rodzina czcionek, dla której zmieniono ustawienie czcionki.
-
levelOfControl
Poziom kontroli, jaką rozszerzenie ma nad ustawieniem.
-
pismo
ScriptCode opcjonalny
Kod skryptu, dla którego zmieniono ustawienie czcionki.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Wywoływane, gdy zmieni się ustawienie minimalnego rozmiaru czcionki.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
levelOfControl
Poziom kontroli, jaką rozszerzenie ma nad ustawieniem.
-
pixelSize
liczba
Rozmiar czcionki w pikselach.
-
-