説明
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()
chrome.fontSettings.clearDefaultFixedFontSize(
details?: object,
callback?: function,
)
この拡張機能によって設定されたデフォルトの固定フォントサイズ(存在する場合)を消去します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
clearDefaultFontSize()
chrome.fontSettings.clearDefaultFontSize(
details?: object,
callback?: function,
)
この拡張機能によって設定されたデフォルトのフォントサイズ(存在する場合)を消去します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
clearFont()
chrome.fontSettings.clearFont(
details: object,
callback?: function,
)
この拡張機能によって設定されたフォント(存在する場合)を消去します。
パラメータ
-
詳細
オブジェクト
-
genericFamily
フォントを消去する汎用フォント ファミリー。
-
スクリプト
ScriptCode 省略可
フォントをクリアするスクリプト。省略すると、グローバルなスクリプト フォント設定がクリアされます。
-
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
clearMinimumFontSize()
chrome.fontSettings.clearMinimumFontSize(
details?: object,
callback?: function,
)
この拡張機能によって設定された最小フォントサイズを消去します(設定されている場合)。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
getDefaultFixedFontSize()
chrome.fontSettings.getDefaultFixedFontSize(
details?: object,
callback?: function,
)
固定幅フォントのデフォルトサイズを取得します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
levelOfControl
この拡張機能が設定に対して持つ制御レベル。
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
戻り値
-
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
getDefaultFontSize()
chrome.fontSettings.getDefaultFontSize(
details?: object,
callback?: function,
)
デフォルトのフォントサイズを取得します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
levelOfControl
この拡張機能が設定に対して持つ制御レベル。
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
戻り値
-
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
getFont()
chrome.fontSettings.getFont(
details: object,
callback?: function,
)
特定のスクリプトと汎用フォント ファミリーのフォントを取得します。
パラメータ
-
詳細
オブジェクト
-
genericFamily
フォントを取得する汎用フォント ファミリー。
-
スクリプト
ScriptCode 省略可
フォントを取得するスクリプト。省略した場合は、グローバル スクリプト(スクリプト コード「Zyyy」)のフォント設定が取得されます。
-
-
callback
function 省略可
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
fontId
文字列
フォント ID。リテラル フォント ID の設定値ではなく、システムが設定値を解決するフォントの ID である場合があります。たとえば、システムでフォントを使用できない場合、
fontId
はsetFont
に渡されたフォントと異なる場合があります。空の文字列は、グローバル スクリプト フォント設定へのフォールバックを示します。 -
levelOfControl
この拡張機能が設定に対して持つ制御レベル。
-
-
戻り値
-
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
getFontList()
chrome.fontSettings.getFontList(
callback?: function,
)
システム上のフォントのリストを取得します。
戻り値
-
Promise<FontName[]>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
getMinimumFontSize()
chrome.fontSettings.getMinimumFontSize(
details?: object,
callback?: function,
)
最小フォントサイズを取得します。
パラメータ
-
詳細
オブジェクト(省略可)
このパラメータは現在使用されていません。
-
callback
function 省略可
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
levelOfControl
この拡張機能が設定に対して持つ制御レベル。
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
戻り値
-
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
setDefaultFixedFontSize()
chrome.fontSettings.setDefaultFixedFontSize(
details: object,
callback?: function,
)
固定幅フォントのデフォルトサイズを設定します。
パラメータ
-
詳細
オブジェクト
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
setDefaultFontSize()
chrome.fontSettings.setDefaultFontSize(
details: object,
callback?: function,
)
デフォルトのフォントサイズを設定します。
パラメータ
-
詳細
オブジェクト
-
pixelSize
数値
フォントサイズ(ピクセル単位)。
-
-
callback
function 省略可
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。
setFont()
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()
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
数値
フォントサイズ(ピクセル単位)。
-
-