Описание
Используйте API chrome.fontSettings для управления настройками шрифтов в Chrome.
Разрешения
fontSettingsЧтобы использовать Font Settings API, необходимо объявить разрешение "fontSettings" в манифесте расширения. Пример:
{
"name": "My Font Settings Extension",
"description": "Customize your fonts",
"version": "0.2",
"permissions": [
"fontSettings"
],
...
}
Основные понятия и использование
В Chrome некоторые настройки шрифтов могут зависеть от определенных общих семейств шрифтов и языковых скриптов. Например, шрифт без засечек для упрощенного китайского может отличаться от шрифта с засечками для японского.
Общие семейства шрифтов, поддерживаемые Chrome, основаны на общих семействах шрифтов CSS и перечислены в разделе GenericReference. Если на веб-странице указано общее семейство шрифтов, Chrome выбирает шрифт на основе соответствующей настройки. Если семейство шрифтов не указано, Chrome использует стандартное семейство.
Если на веб-странице указан язык, Chrome выбирает шрифт на основе настроек для соответствующего языка. Если язык не указан, Chrome использует настройку для скрипта по умолчанию или глобального скрипта.
Поддерживаемые языковые скрипты определяются кодом скрипта ISO 15924 и перечислены в разделе ScriptCode. Технически настройки Chrome зависят не только от письменности, но и от языка. Например, Chrome выбирает шрифт для кириллицы (код набора символов ISO 15924 – Cyrl), когда на веб-странице указан русский язык, и использует этот шрифт не только для кириллицы, но и для всего, что он охватывает, например для латиницы.
Примеры
Следующий код получает стандартный шрифт для арабского языка.
browser.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
В следующем фрагменте кода задается шрифт без засечек для японского языка.
browser.fontSettings.setFont(
{ genericFamily: 'sansserif', script: 'Jpan', fontId: 'MS PGothic' }
);
Чтобы попробовать этот API, установите пример fontSettings API из репозитория chrome-extension-samples.
Типы
FontName
Название шрифта.
Свойства
-
displayName
string
Отображаемое название шрифта.
-
fontId
string
Идентификатор шрифта.
GenericFamily
Общее семейство шрифтов CSS.
Перечисление
"standard"
"sansserif"
"serif"
"fixed"
"cursive"
"fantasy"
"math"
LevelOfControl
Одно из следующих значений:
not\_controllable – не может управляться расширениями;
controlled\_by\_other\_extensions – управляется расширениями с более высоким приоритетом;
controllable\_by\_this\_extension – может управляться этим расширением;
controlled\_by\_this\_extension – управляется этим расширением.
Перечисление
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"
ScriptCode
Код набора символов в формате ISO 15924. Стандартная, или глобальная, письменность обозначается кодом Zyyy.
Перечисление
"Afak"
"Arab"
"Aran"
"Armi"
"Armn"
"Avst"
"Бали"
"Bamu"
"Бас"
"Batk"
"Beng"
Blis
"Bopo"
"Brah"
"Brai"
"Bugi"
"Buhd"
"Cakm"
"Cans"
"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"
"Лису"
"Loma"
"Lyci"
"Lydi"
"Mand"
"Mani"
"Maya"
Mend
"Merc"
"Mero"
"Mlym"
"Луна"
"Mong"
"Мяу"
"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"
Методы
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
): Promise<void>
Сбрасывает размер шрифта фиксированной ширины, заданный этим расширением.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
): Promise<void>
Сбрасывает размер шрифта по умолчанию, заданный этим расширением, если он есть.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
clearFont()
chrome.fontSettings.clearFont(
details: object,
): Promise<void>
Удаляет шрифт, заданный этим расширением, если он есть.
Параметры
-
подробные сведения
Объект
-
genericFamily
Общее семейство шрифтов, для которого нужно удалить шрифт.
-
письменность
ScriptCode необязательный
Скрипт, для которого нужно удалить шрифт. Если его не указать, глобальная настройка шрифта для скрипта будет удалена.
-
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
): Promise<void>
Сбрасывает минимальный размер шрифта, заданный этим расширением, если он есть.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
): Promise<object>
Возвращает размер по умолчанию для шрифтов фиксированной ширины.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
): Promise<object>
Возвращает размер шрифта по умолчанию.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;
getFont()
chrome.fontSettings.getFont(
details: object,
): Promise<object>
Возвращает шрифт для заданной письменности и общего семейства шрифтов.
Параметры
-
подробные сведения
Объект
-
genericFamily
Общее семейство шрифтов, для которого нужно получить шрифт.
-
письменность
ScriptCode необязательный
Скрипт, для которого нужно получить шрифт. Если этот параметр не указан, возвращаются настройки шрифта для глобального скрипта (код скрипта "Zyyy").
-
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;
getFontList()
chrome.fontSettings.getFontList(): Promise<FontName[]>
Получает список шрифтов в системе.
Возвраты
-
Promise<FontName[]>
Chrome 96 и более поздних версий;
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
): Promise<object>
Возвращает минимальный размер шрифта.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
): Promise<void>
Задает размер по умолчанию для моноширинных шрифтов.
Параметры
-
подробные сведения
Объект
-
pixelSize
число
Размер шрифта в пикселях.
-
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
): Promise<void>
Задает размер шрифта по умолчанию.
Параметры
-
подробные сведения
Объект
-
pixelSize
число
Размер шрифта в пикселях.
-
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
setFont()
chrome.fontSettings.setFont(
details: object,
): Promise<void>
Задает шрифт для определенного скрипта и общего семейства шрифтов.
Параметры
-
подробные сведения
Объект
-
fontId
string
Идентификатор шрифта. Пустая строка означает, что будет использоваться глобальный шрифт.
-
genericFamily
Общее семейство шрифтов, для которого нужно задать шрифт.
-
письменность
ScriptCode необязательный
Код скрипта, для которого нужно задать шрифт. Если этот параметр не указан, будет задан шрифт для глобального скрипта (код скрипта "Zyyy").
-
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
): Promise<void>
Задает минимальный размер шрифта.
Параметры
-
подробные сведения
Объект
-
pixelSize
число
Размер шрифта в пикселях.
-
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;
События
onDefaultFixedFontSizeChanged
chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
callback: function,
)
Срабатывает, когда изменяется размер фиксированного шрифта по умолчанию.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
pixelSize
число
Размер шрифта в пикселях.
-
-
onDefaultFontSizeChanged
chrome.fontSettings.onDefaultFontSizeChanged.addListener(
callback: function,
)
Срабатывает, когда изменяется размер шрифта по умолчанию.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
pixelSize
число
Размер шрифта в пикселях.
-
-
onFontChanged
chrome.fontSettings.onFontChanged.addListener(
callback: function,
)
Срабатывает при изменении настроек шрифта.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
fontId
string
Идентификатор шрифта. См. описание в разделе
getFont. -
genericFamily
Общее семейство шрифтов, для которого были изменены настройки.
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
письменность
ScriptCode необязательный
Код скрипта, для которого изменились настройки шрифта.
-
-
onMinimumFontSizeChanged
chrome.fontSettings.onMinimumFontSizeChanged.addListener(
callback: function,
)
Срабатывает при изменении минимального размера шрифта.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
pixelSize
число
Размер шрифта в пикселях.
-
-