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 汎用フォント ファミリーに基づいており、GenericReference の下に表示されます。ウェブページで汎用フォント ファミリーが指定されている場合、Chrome は対応する設定に基づいてフォントを指定します。汎用フォント ファミリーが指定されていない場合、Chrome は「標準」汎用フォント ファミリーの設定を使用します。

ウェブページで言語が指定されている場合、Chrome は対応する言語のスクリプトの設定に基づいてフォントを選択します。言語が指定されていない場合、Chrome はデフォルト(グローバル)スクリプトの設定を使用します。

サポートされている言語の文字体系は ISO 15924 文字体系コードで指定され、ScriptCode の下にリストされています。技術的には、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」

「修正済み」

「cursive」

「ファンタジー」

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

「バリ」

「Bamu」

「ベース」

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

「ハング」

「Hani」

「Hano」

「Hans」

「Hant」

「Hebr」

「Hluw」

「Hmng」

「ハング」

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

「Mani」

「Maya」

[修理]

「Merc」

「Mero」

「Mlym」

「月」

「Mong」

「Mroo」

「Mtei」

「Mymr」

「Narb」

「Nbat」

「Nkgb」

「Nkoo」

「Nshu」

「Ogam」

「Olck」

「Orkh」

「Orya」

「Osma」

「手のひら」

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

「唐」

「Tavt」

「Telu」

「Teng」

「Tfng」

「Tglg」

「Thaa」

「タイ語」

「チベット」

「Tirh」

「Ugar」

「Vaii」

「Visp」

「Wara」

「Wole」

「Xpeo」

「Xsux」

「Yiii」

「Zmth」

「Zsym」

「Zyyy」

メソッド

clearDefaultFixedFontSize()

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

この拡張機能によって設定されたデフォルトの固定フォントサイズ(存在する場合)を消去します。

パラメータ

  • 詳細

    オブジェクト(省略可)

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

clearDefaultFontSize()

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

この拡張機能によって設定されたデフォルトのフォントサイズ(存在する場合)を消去します。

パラメータ

  • 詳細

    オブジェクト(省略可)

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

clearFont()

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

この拡張機能によって設定されたフォント(存在する場合)を消去します。

パラメータ

  • 詳細

    オブジェクト

    • genericFamily

      フォントを消去する汎用フォント ファミリー。

    • スクリプト

      ScriptCode 省略可

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

clearMinimumFontSize()

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

この拡張機能によって設定された最小フォントサイズを消去します(設定されている場合)。

パラメータ

  • 詳細

    オブジェクト(省略可)

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

getDefaultFixedFontSize()

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

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

パラメータ

  • 詳細

    オブジェクト(省略可)

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

  • callback

    function 省略可

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

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定に対して持つ制御レベル。

      • pixelSize

        数値

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

戻り値

  • Promise<object>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

getDefaultFontSize()

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

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

パラメータ

  • 詳細

    オブジェクト(省略可)

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

  • callback

    function 省略可

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

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定に対して持つ制御レベル。

      • pixelSize

        数値

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

戻り値

  • Promise<object>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

getFont()

Promise
chrome.fontSettings.getFont(
  details: object,
  callback?: function,
)

特定のスクリプトと汎用フォント ファミリーのフォントを取得します。

パラメータ

  • 詳細

    オブジェクト

    • genericFamily

      フォントを取得する汎用フォント ファミリー。

    • スクリプト

      ScriptCode 省略可

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

  • callback

    function 省略可

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

    (details: object) => void

    • 詳細

      オブジェクト

      • fontId

        文字列

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

      • levelOfControl

        この拡張機能が設定に対して持つ制御レベル。

戻り値

  • Promise<object>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

getFontList()

Promise
chrome.fontSettings.getFontList(
  callback?: function,
)

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

パラメータ

  • callback

    function 省略可

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

    (results: FontName[]) => void

戻り値

  • Promise<FontName[]>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

getMinimumFontSize()

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

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

パラメータ

  • 詳細

    オブジェクト(省略可)

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

  • callback

    function 省略可

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

    (details: object) => void

    • 詳細

      オブジェクト

      • levelOfControl

        この拡張機能が設定に対して持つ制御レベル。

      • pixelSize

        数値

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

戻り値

  • Promise<object>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

setDefaultFixedFontSize()

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

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

パラメータ

  • 詳細

    オブジェクト

    • pixelSize

      数値

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

setDefaultFontSize()

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

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

パラメータ

  • 詳細

    オブジェクト

    • pixelSize

      数値

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

setFont()

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

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

パラメータ

  • 詳細

    オブジェクト

    • fontId

      文字列

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

    • genericFamily

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

    • スクリプト

      ScriptCode 省略可

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

setMinimumFontSize()

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

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

パラメータ

  • 詳細

    オブジェクト

    • pixelSize

      数値

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

  • callback

    function 省略可

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

    () => void

戻り値

  • Promise<void>

    Chrome 96 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。

イベント

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

        数値

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