refresh date: 2026-09-25 robots: noindex
Описание
Используйте 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 и перечислены в документации по API ниже. Если на веб-странице указано общее семейство шрифтов, Chrome выбирает шрифт на основе соответствующей настройки. Если семейство шрифтов не указано, Chrome использует стандартное семейство.
Если на веб-странице указан язык, Chrome выбирает шрифт на основе настроек для соответствующего языка. Если язык не указан, Chrome использует настройку для скрипта по умолчанию или глобального скрипта.
Поддерживаемые языковые скрипты указываются кодом скрипта ISO 15924 и перечислены в документации по API ниже. Технически настройки Chrome зависят не только от письменности, но и от языка. Например, если на веб-странице указан русский язык, Chrome выбирает шрифт для кириллицы (код набора символов ISO 15924 – Cyrl) и использует его не только для кириллицы, но и для всех символов, которые он поддерживает, например латиницы.
Примеры
Следующий код получает стандартный шрифт для арабского языка.
chrome.fontSettings.getFont(
{ genericFamily: 'standard', script: 'Arab' },
function(details) { console.log(details.fontId); }
);
В следующем фрагменте кода задается шрифт без засечек для японского языка.
chrome.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,
callback?: function,
): Promise<void>
Сбрасывает размер шрифта фиксированной ширины, заданный этим расширением.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
): Promise<void>
Сбрасывает размер шрифта по умолчанию, заданный этим расширением, если он есть.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
): Promise<void>
Удаляет шрифт, заданный этим расширением, если он есть.
Параметры
-
подробные сведения
Объект
-
genericFamily
Общее семейство шрифтов, для которого нужно удалить шрифт.
-
письменность
ScriptCode необязательный
Скрипт, для которого нужно удалить шрифт. Если его не указать, глобальная настройка шрифта для скрипта будет удалена.
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
): Promise<void>
Сбрасывает минимальный размер шрифта, заданный этим расширением, если он есть.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<object>
Возвращает размер по умолчанию для шрифтов фиксированной ширины.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
pixelSize
число
Размер шрифта в пикселях.
-
-
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
): Promise<object>
Возвращает размер шрифта по умолчанию.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
pixelSize
число
Размер шрифта в пикселях.
-
-
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
): Promise<object>
Возвращает шрифт для заданной письменности и общего семейства шрифтов.
Параметры
-
подробные сведения
Объект
-
genericFamily
Общее семейство шрифтов, для которого нужно получить шрифт.
-
письменность
ScriptCode необязательный
Скрипт, для которого нужно получить шрифт. Если этот параметр не указан, возвращаются настройки шрифта для глобального скрипта (код скрипта "Zyyy").
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
fontId
string
Идентификатор шрифта. Вместо значения идентификатора шрифта может быть указан идентификатор шрифта, который система сопоставляет со значением. Таким образом,
fontIdможет отличаться от шрифта, переданного вsetFont, если, например, шрифт недоступен в системе. Пустая строка означает, что используется глобальная настройка шрифта. -
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
-
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
): Promise<FontName[]>
Получает список шрифтов в системе.
Параметры
Возвраты
-
Promise<FontName[]>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
): Promise<object>
Возвращает минимальный размер шрифта.
Параметры
-
подробные сведения
Объект (необязательно)
Этот параметр в настоящее время не используется.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(details: object) => void
-
подробные сведения
Объект
-
levelOfControl
Уровень контроля, который расширение имеет над настройкой.
-
pixelSize
число
Размер шрифта в пикселях.
-
-
Возвраты
-
Promise<object>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
): Promise<void>
Задает размер по умолчанию для моноширинных шрифтов.
Параметры
-
подробные сведения
Объект
-
pixelSize
число
Размер шрифта в пикселях.
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
): Promise<void>
Задает размер шрифта по умолчанию.
Параметры
-
подробные сведения
Объект
-
pixelSize
число
Размер шрифта в пикселях.
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
): Promise<void>
Задает шрифт для определенного скрипта и общего семейства шрифтов.
Параметры
-
подробные сведения
Объект
-
fontId
string
Идентификатор шрифта. Пустая строка означает, что будет использоваться глобальный шрифт.
-
genericFamily
Общее семейство шрифтов, для которого нужно задать шрифт.
-
письменность
ScriptCode необязательный
Код скрипта, для которого нужно задать шрифт. Если этот параметр не указан, будет задан шрифт для глобального скрипта (код скрипта "Zyyy").
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
): Promise<void>
Задает минимальный размер шрифта.
Параметры
-
подробные сведения
Объект
-
pixelSize
число
Размер шрифта в пикселях.
-
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 96 и более поздних версий;Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
События
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
число
Размер шрифта в пикселях.
-
-