chrome.fontSettings

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()

Promise
chrome.fontSettings.clearDefaultFixedFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

Сбрасывает размер шрифта фиксированной ширины, заданный этим расширением.

Параметры

  • подробные сведения

    Объект (необязательно)

    Этот параметр в настоящее время не используется.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

clearDefaultFontSize()

Promise
chrome.fontSettings.clearDefaultFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

Сбрасывает размер шрифта по умолчанию, заданный этим расширением, если он есть.

Параметры

  • подробные сведения

    Объект (необязательно)

    Этот параметр в настоящее время не используется.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

clearFont()

Promise
chrome.fontSettings.clearFont(
  details: object,
  callback?: function,
)
: Promise<void>

Удаляет шрифт, заданный этим расширением, если он есть.

Параметры

  • подробные сведения

    Объект

    • genericFamily

      Общее семейство шрифтов, для которого нужно удалить шрифт.

    • письменность

      ScriptCode необязательный

      Скрипт, для которого нужно удалить шрифт. Если его не указать, глобальная настройка шрифта для скрипта будет удалена.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

clearMinimumFontSize()

Promise
chrome.fontSettings.clearMinimumFontSize(
  details?: object,
  callback?: function,
)
: Promise<void>

Сбрасывает минимальный размер шрифта, заданный этим расширением, если он есть.

Параметры

  • подробные сведения

    Объект (необязательно)

    Этот параметр в настоящее время не используется.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getDefaultFixedFontSize()

Promise
chrome.fontSettings.getDefaultFixedFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

Возвращает размер по умолчанию для шрифтов фиксированной ширины.

Параметры

  • подробные сведения

    Объект (необязательно)

    Этот параметр в настоящее время не используется.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (details: object) => void

    • подробные сведения

      Объект

      • levelOfControl

        Уровень контроля, который расширение имеет над настройкой.

      • pixelSize

        число

        Размер шрифта в пикселях.

Возвраты

  • Promise<object>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getDefaultFontSize()

Promise
chrome.fontSettings.getDefaultFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

Возвращает размер шрифта по умолчанию.

Параметры

  • подробные сведения

    Объект (необязательно)

    Этот параметр в настоящее время не используется.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (details: object) => void

    • подробные сведения

      Объект

      • levelOfControl

        Уровень контроля, который расширение имеет над настройкой.

      • pixelSize

        число

        Размер шрифта в пикселях.

Возвраты

  • Promise<object>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getFont()

Promise
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()

Promise
chrome.fontSettings.getFontList(
  callback?: function,
)
: Promise<FontName[]>

Получает список шрифтов в системе.

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (results: FontName[]) => void

Возвраты

  • Promise<FontName[]>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getMinimumFontSize()

Promise
chrome.fontSettings.getMinimumFontSize(
  details?: object,
  callback?: function,
)
: Promise<object>

Возвращает минимальный размер шрифта.

Параметры

  • подробные сведения

    Объект (необязательно)

    Этот параметр в настоящее время не используется.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (details: object) => void

    • подробные сведения

      Объект

      • levelOfControl

        Уровень контроля, который расширение имеет над настройкой.

      • pixelSize

        число

        Размер шрифта в пикселях.

Возвраты

  • Promise<object>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setDefaultFixedFontSize()

Promise
chrome.fontSettings.setDefaultFixedFontSize(
  details: object,
  callback?: function,
)
: Promise<void>

Задает размер по умолчанию для моноширинных шрифтов.

Параметры

  • подробные сведения

    Объект

    • pixelSize

      число

      Размер шрифта в пикселях.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setDefaultFontSize()

Promise
chrome.fontSettings.setDefaultFontSize(
  details: object,
  callback?: function,
)
: Promise<void>

Задает размер шрифта по умолчанию.

Параметры

  • подробные сведения

    Объект

    • pixelSize

      число

      Размер шрифта в пикселях.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 96 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setFont()

Promise
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()

Promise
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

        число

        Размер шрифта в пикселях.