概要

font-feature-settings CSS プロパティは OpenType フォントの先進的なタイポグラフィの機能を制御します。

注記: 可能であればいつでも、ウェブ著者は font-variant ショートハンドプロパティまたは個別のプロパティである font-variant-ligaturesfont-variant-capsfont-variant-east-asianfont-variant-alternatesfont-variant-numericfont-variant-position プロパティを使うべきです。

このプロパティは、OpenType フォントの機能を有効にする方法やアクセスの方法が他にない、特別な状況を扱うために設計されてきました。

特に、スモールキャップスの表現にこのプロパティを使うべきではありません。
初期値normal
適用対象全要素. It also applies to ::first-letter and ::first-line.
継承継承する
メディアvisual
計算値指定値
アニメーションの可否不可
正規順序形式文法で定義される一意のあいまいでない順序

構文

/* デフォルト設定を使用する */
font-feature-settings: normal;

/* OpenType の機能タグの値を設定する */
font-feature-settings: "smcp";
font-feature-settings: "smcp" on;
font-feature-settings: "swsh" 2;
font-feature-settings: "smcp", "swsh" 2;

/* グローバル値 */
font-feature-settings: inherit;
font-feature-settings: initial;
font-feature-settings: unset;

normal
テキストはデフォルト設定で配置されます。
<feature-tag-value>
テキストの描画時、OpenType の機能タグ値のリストがテキストレイアウトエンジンに渡され、フォントの機能を有効化または無効化します。タグは常に 4文字のASCII 文字の <string> です。文字数がこれより少ないか多い場合、もしくはコードポイント U+20 - U+7E の範囲外の文字を含む場合、プロパティ全体が無効になります。
値は正の整数です。キーワード onoff はそれぞれ 10 の別名です。値がセットされていなければ、デフォルトは 1 です。 非真偽値の OpenType 機能(例:stylistic alternates)では、この値は選ばれる特定のグリフを意味します。真偽値の機能はオンとオフを切り替えます。

形式文法

normal | <feature-tag-value>#

where
<feature-tag-value> = <string> [ <integer> | on | off ]?

/* use small-cap alternate glyphs */
.smallcaps { font-feature-settings: "smcp" on; }

/* convert both upper and lowercase to small caps (affects punctuation also) */
.allsmallcaps { font-feature-settings: "c2sc", "smcp"; }

/* enable historical forms */
.hist { font-feature-settings: "hist"; }

/* disable common ligatures, usually on by default */
.noligs { font-feature-settings: "liga" 0; }

/* enable tabular (monospaced) figures */
td.tabular { font-feature-settings: "tnum"; }

/* enable automatic fractions */
.fractions { font-feature-settings: "frac"; }

/* use the second available swash character */
.swash { font-feature-settings: "swsh" 2; }

/* enable stylistic set 7 */
.fancystyle {
  font-family: Gabriola; /* available on Windows 7, and on Mac OS */
  font-feature-settings: "ss07";
}

仕様

仕様書 策定状況 コメント
CSS Fonts Module Level 3
font-feature-settings の定義
勧告候補  

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート

16.0 -webkit
48.0 (接頭辞なし)

4.0 (2.0) -moz [1]
29.0 (29.0) -moz [2]
34.0 (34.0) [3]

10.0 15.0 -webkit 未サポート (バージョン 4.0-6.0 で部分的にサポート)
機能 Android Android Webview Chrome for Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
基本サポート 4.4 48.0 (接頭辞なし) 48.0 (接頭辞なし)

4.0 (2.0) -moz [1]
29.0 (29.0) -moz [2]
34.0 (34.0) [3]

? 24 未サポート (バージョン 3.2-6.1 で部分的にサポート)

[1] Gecko 2.0 (Firefox 4.0) から Gecko 14.0 (Firefox 14.0) まで、Gecko は古い構文をサポートしていました。構文がモダンなものと少し違います:OpenType Font Feature support in Firefox 4.

[2] ISO/IEC CD 14496-22 3rd edition は、Script Style (例えば、上付き文字として使用するプライム記号) での使用に適するよう調整された派生グリフを提供するために ssty 機能を使用するよう提案しています。Firefox 29 より、これは MathML レンダリングエンジンによって自動的に行われます。また、ドットがない書式 (例えばハットがありドットがない i や j) のために数学的なアクセントを仮定するとき、文字に dtls 機能を適用するよう提案しています。Firefox 35 より、これは MathML レンダリングエンジンによって自動的に行われます。MathML レンダリングエンジンが決めるデフォルト値は、CSS を使用してオーバーライドできます。

[3] Firefox 34 より、-moz- 接頭辞がついたプロパティは後方互換性のためだけに残されています。これは layout.css.prefixes.font-features で制御しており、既定値は true です。接頭辞付きのプロパティは、将来削除する予定です。

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: yyss, Guillaume-Heras, Sebastianz, momdo, ethertank, sosleepy
 最終更新者: yyss,