chrome.fontSettings

説明

chrome.fontSettings API を使用して、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 を試すには、chrome-extension-samples リポジトリから fontSettings API のサンプルをインストールします。

FontName

フォント名を表します。

プロパティ

  • displayName

    文字列

    フォントの表示名。

  • fontId

    文字列

    フォント ID。

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」

「アラブ」

"Armi"

"Armn"

"Avst"

"Bali"

「Bamu」

「Bass」

"Batk"

"Beng"

"Blis"

"Bopo"

「Brah」

「Brai」

"Bugi"

"Buhd"

"Cakm"

「缶」

「Cari」

「Cham」

"Cher"

「Cirt」

"Copt"

"Cprt"

"Cyrl"

"Cyrs"

「Deva」

"Dsrt"

"Dupl"

"Egyd"

"Egyh"

"Egyp"

"Elba"

"Ethi"

"Geor"

"Geok"

「Glag」

「ゴス」

「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"

「Lisu」

「Loma」

「Lyci」

"Lydi"

"Mand"

「マニ」

「Maya」

「修復」

"Merc"

「メロ」

"Mlym"

「月」

「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」

「物語」

「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>

この拡張機能で設定されたデフォルトの固定フォントサイズ(設定されている場合)をクリアします。

パラメータ

  • 詳細

    オブジェクト 省略可

    このパラメータは現在使用されていません。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

clearDefaultFontSize()

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

この拡張機能で設定されたデフォルトのフォントサイズ(ある場合)をクリアします。

パラメータ

  • 詳細

    オブジェクト 省略可

    このパラメータは現在使用されていません。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

clearFont()

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

この拡張機能で設定されたフォントがあれば、それをクリアします。

パラメータ

  • 詳細

    オブジェクト

    • genericFamily

      フォントをクリアする汎用フォント ファミリー。

    • スクリプト

      ScriptCode 省略可

      フォントをクリアするスクリプト。省略すると、グローバル スクリプト フォント設定がクリアされます。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

clearMinimumFontSize()

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

この拡張機能で設定された最小フォントサイズ(設定されている場合)をクリアします。

パラメータ

  • 詳細

    オブジェクト 省略可

    このパラメータは現在使用されていません。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getDefaultFixedFontSize()

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

固定幅フォントのデフォルトのサイズを取得します。

パラメータ

  • 詳細

    オブジェクト 省略可

    このパラメータは現在使用されていません。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定を制御するレベル。

      • pixelSize

        数値

        フォントサイズ(ピクセル単位)。

戻り値

  • Promise<object>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getDefaultFontSize()

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

デフォルトのフォントサイズを取得します。

パラメータ

  • 詳細

    オブジェクト 省略可

    このパラメータは現在使用されていません。

  • callback

    関数 省略可

    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」)のフォント設定が取得されます。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (details: object) => void

    • 詳細

      オブジェクト

      • fontId

        文字列

        フォント ID。これは、リテラル フォント ID の設定値ではなく、システムが設定値を解決するフォントの ID である可能性があります。たとえば、フォントがシステムで使用できない場合、fontIdsetFont に渡されたフォントと異なる可能性があります。空の文字列は、グローバル スクリプト フォント設定へのフォールバックを示します。

      • levelOfControl

        この拡張機能が設定を制御するレベル。

戻り値

  • Promise<object>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getFontList()

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

システム上のフォントのリストを取得します。

パラメータ

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    (results: FontName[]) => void

戻り値

  • Promise<FontName[]>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

getMinimumFontSize()

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

最小フォントサイズを取得します。

パラメータ

  • 詳細

    オブジェクト 省略可

    このパラメータは現在使用されていません。

  • callback

    関数 省略可

    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

      数値

      フォントサイズ(ピクセル単位)。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setDefaultFontSize()

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

デフォルトのフォントサイズを設定します。

パラメータ

  • 詳細

    オブジェクト

    • pixelSize

      数値

      フォントサイズ(ピクセル単位)。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setFont()

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

指定されたスクリプトと汎用フォント ファミリーのフォントを設定します。

パラメータ

  • 詳細

    オブジェクト

    • fontId

      文字列

      フォント ID。空の文字列は、グローバル スクリプト フォント設定にフォールバックすることを意味します。

    • genericFamily

      フォントを設定する汎用フォント ファミリー。

    • スクリプト

      ScriptCode 省略可

      フォントを設定するスクリプト コード。省略した場合、グローバル スクリプト(スクリプト コード「Zyyy」)のフォント設定が設定されます。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

setMinimumFontSize()

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

最小フォントサイズを設定します。

パラメータ

  • 詳細

    オブジェクト

    • pixelSize

      数値

      フォントサイズ(ピクセル単位)。

  • callback

    関数 省略可

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。

イベント

onDefaultFixedFontSizeChanged

chrome.fontSettings.onDefaultFixedFontSizeChanged.addListener(
  callback: function,
)

デフォルトの固定フォントサイズの設定が変更されたときに発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定を制御するレベル。

      • pixelSize

        数値

        フォントサイズ(ピクセル単位)。

onDefaultFontSizeChanged

chrome.fontSettings.onDefaultFontSizeChanged.addListener(
  callback: function,
)

デフォルトのフォントサイズ設定が変更されたときに発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定を制御するレベル。

      • pixelSize

        数値

        フォントサイズ(ピクセル単位)。

onFontChanged

chrome.fontSettings.onFontChanged.addListener(
  callback: function,
)

フォント設定が変更されたときに発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (details: object) => void

    • 詳細

      オブジェクト

      • fontId

        文字列

        フォント ID。getFont の説明をご覧ください。

      • genericFamily

        フォント設定が変更された汎用フォント ファミリー。

      • levelOfControl

        この拡張機能が設定を制御するレベル。

      • スクリプト

        ScriptCode 省略可

        フォント設定が変更されたスクリプト コード。

onMinimumFontSizeChanged

chrome.fontSettings.onMinimumFontSizeChanged.addListener(
  callback: function,
)

最小フォントサイズの設定が変更されたときに発生します。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定を制御するレベル。

      • pixelSize

        数値

        フォントサイズ(ピクセル単位)。