更新日: 2026-09-25 robots: noindex
説明
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); }
);
次のスニペットでは、日本語の Sans Serif フォントを設定しています。
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」
「バリ」
「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」
「ハンス」
「Hant」
"Hebr"
「Hluw」
"Hmng"
「ハング」
「Inds」
"Ital"
"Java"
"Jpan"
「Jurc」
「Kali」
「Khar」
"Khmr"
「Khoj」
「Knda」
「Kpel」
「Kthi」
「ラナ」
「Laoo」
"Latf"
"Latg"
"Latn"
「Lepc」
「Limb」
「リナ」
「Linb」
「リス語」
「Loma」
「Lyci」
「Lydi」
「Mand」
「マニ」
「マヤ」
「Mend」
「Merc」
「Mero」
「Mlym」
「月」
「Mong」
「Mroo」
「Mtei」
「Mymr」
「Narb」
「Nbat」
「Nkgb」
「Nkoo」
「Nshu」
「オガム文字」
「Olck」
「Orkh」
「Orya」
「Osma」
「Palm」
「Perm」
「Phag」
"Phli"
「Phlp」
「Phlv」
「Phnx」
「Plrd」
「Prti」
「Rjng」
「Roro」
「Runr」
"Samr"
「サラ」
「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」
「タイ料理」
"Tibt"
「Tirh」
「Ugar」
「Vaii」
「Visp」
「ワラ」
「Wole」
「Xpeo」
"Xsux"
「Yiii」
"Zmth"
"Zsym"
"Zyyy"
メソッド
clearDefaultFixedFontSize()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<void>
この拡張機能によって設定されたデフォルトの固定フォントサイズをクリアします(設定されている場合)。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
): Promise<void>
この拡張機能によって設定されたデフォルトのフォントサイズをクリアします(設定されている場合)。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
): Promise<void>
この拡張機能によって設定されたフォントをクリアします(設定されている場合)。
パラメータ
-
詳細
オブジェクト
-
genericFamily
フォントをクリアする汎用フォント ファミリー。
-
スクリプト
ScriptCode 省略可
フォントをクリアするスクリプト。省略すると、グローバル スクリプト フォントの設定がクリアされます。
-
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
): Promise<void>
この拡張機能によって設定された最小フォントサイズをクリアします(設定されている場合)。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
): Promise<object>
固定幅フォントのデフォルト サイズを取得します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callbackパラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
levelOfControl
この拡張機能が設定に対して持つ制御のレベル。
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
戻り値
-
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
): Promise<object>
デフォルトのフォントサイズを取得します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
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」)のフォント設定が取得されます。
-
-
callback
function 省略可
callbackパラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
fontId
文字列
フォント ID。これは、リテラルのフォント ID 設定値ではなく、システムが設定値を解決するフォントの ID である可能性があります。たとえば、フォントがシステムで使用できない場合、
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>
最小フォントサイズを取得します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
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
数値
フォントサイズ(ピクセル単位)。
-
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
): Promise<void>
デフォルトのフォントサイズを設定します。
パラメータ
-
詳細
オブジェクト
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setFont()
chrome.fontSettings.setFont(
details: object,
callback?: function,
): Promise<void>
指定されたスクリプトと汎用フォント ファミリーのフォントを設定します。
パラメータ
-
詳細
オブジェクト
-
fontId
文字列
フォント ID。空の文字列は、グローバル スクリプト フォント設定にフォールバックすることを意味します。
-
genericFamily
フォントを設定する汎用フォント ファミリー。
-
スクリプト
ScriptCode 省略可
フォントを設定するスクリプト コード。省略すると、グローバル スクリプト(スクリプト コード「Zyyy」)のフォント設定が設定されます。
-
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setMinimumFontSize()
chrome.fontSettings.setMinimumFontSize(
details: object,
callback?: function,
): Promise<void>
最小フォントサイズを設定します。
パラメータ
-
詳細
オブジェクト
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
callback
function 省略可
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
数値
フォントサイズ(ピクセル単位)。
-
-