CSS フォントモジュール レベル 5

W3C 作業草案

この文書の詳細
このバージョン:
https://www.w3.org/TR/2024/WD-css-fonts-5-20240206/
最新公開バージョン:
https://www.w3.org/TR/css-fonts-5/
編集者草案:
https://drafts.csswg.org/css-fonts-5/
以前のバージョン:
履歴:
https://www.w3.org/standards/history/css-fonts-5/
フィードバック:
CSSWG イシューレポジトリ
仕様内インライン
編集者:
Chris Lilley (W3C)
前編集者:
(元 Apple Inc.)
この仕様への編集提案:
GitHub 編集者
デルタ仕様:
はい
テストスイート:
https://wpt.fyi/results/css/css-fonts/

要約

この仕様は、既存の CSS Fonts 4 仕様への修正と追加機能を定義します。

CSS は、構造化文書(HTMLやXMLなど)の画面や紙などでのレンダリングを記述するための言語です。

この文書の位置付け

このセクションは、本書が公開された時点での文書の位置付けを説明します。 現在のW3C出版物の一覧や、この技術報告書の最新版は W3C技術報告書インデックス https://www.w3.org/TR/ で参照できます。

この文書は CSSワーキンググループ によって 作業草案勧告トラック)として公開されました。 作業草案としての公開は、W3C およびそのメンバーによる承認を意味するものではありません。

この文書はドラフトであり、今後いつでも更新、差し替え、 または他の文書によって廃止される可能性があります。 この文書を進行中の作業以外の根拠として引用するのは不適切です。

ご意見・ご指摘は GitHubでissueを提出(推奨)してください。その際、タイトルに仕様コード「css-fonts」を含めてください(例: “[css-fonts] …コメント概要…”)。 すべてのissueおよびコメントはアーカイブされています。 または、(アーカイブあり) 公開メーリングリスト www-style@w3.org へのメールでも受け付けています。

この文書は 2023年11月3日版 W3Cプロセス文書 に従って管理されています。

この文書は W3C特許ポリシーのもとで活動しているグループによって作成されました。 W3Cは、グループの成果物に関連してなされた特許開示の公開リストを管理しています。 そのページには特許開示の方法も記載されています。 特許に関する実際の知識があり、その特許が必須クレームを含むと考える個人は、W3C特許ポリシー第6節に従い情報を開示する必要があります。

1. はじめに

CSS Fonts Level 4仕様 ([CSS-FONTS-4]) では、 CSSが文書内でフォントを選択・使用するための制御方法について説明しています。 これにはバリアブルフォントやカラーフォントへの対応も含まれます。 ここで述べる内容は、CSS Fonts Level 4で定義されたプロパティやルールへの追加や変更点です。

この仕様は現在、CSS Fonts Level 4仕様に対する差分(デルタ)となっています。 ここに記載されていないことが削除されたと仮定しないでください。

1.1. 値の定義

この仕様は CSSプロパティ定義の慣習[CSS2])に従い、値の定義構文[CSS-VALUES-3])を使用しています。 この仕様で定義されていない値型は CSS Values & Units [CSS-VALUES-3] で定義されています。 他のCSSモジュールとの組み合わせによって、これらの値型の定義が拡張される場合があります。

各プロパティ固有の値に加えて、 この仕様で定義されるすべてのプロパティは CSS全域キーワード も値として受け入れます。 可読性のため、ここでは明示的に繰り返していません。

2. 基本フォントプロパティ

w3c/csswg-drafts/126[css-fonts] フォールバックフォントのパラメータ変更指定

2.1. フォントファミリー: font-family プロパティ

2.1.1. ジェネリックフォントファミリー

CSS Fonts Level 4 の CSS Fonts 4 § 2.1.3 ジェネリックフォントファミリー に加え、以下の新しいジェネリックフォントファミリーも定義されます。

w3c/csswg-drafts/4910[meta] [css-fonts] ジェネリックフォントファミリーの基準
xxx
xxxジェネリックフォントファミリーのプレースホルダーテキスト。
w3c/csswg-drafts/4566[css-fonts] 追加ジェネリックフォントのレジストリを始めるべきか?

2.2. フォントウェイト: font-weight プロパティ

w3c/csswg-drafts/2690[css-fonts-4] font-weightで比率指定のパーセンテージ対応

2.3. フォントスタイル: font-style プロパティ

w3c/csswg-drafts/4044[css-fonts] 縦書きはfont-styleやfont-stretchと相性が悪い

2.4. 相対サイズ指定: font-size-adjust プロパティ

名前: font-size-adjust
値: none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number [0,∞]> ]
初期値: none
適用対象: すべての要素とテキスト
継承: はい
パーセンテージ: 該当なし
算出値: キーワードnone、またはメトリックキーワードと<number>のペア
正規順序: 文法に従う
アニメーション型: キーワードが異なれば離散、それ以外は算出値型による

同じフォントサイズでも、 テキストの見かけの大きさや可読性は フォント設計の違いにより異なります。 例えば、 ラテン文字やキリル文字のような 大文字・小文字を区別する二重書体では、 小文字の高さと大文字の高さの比率が 可読性の決定的な要因となります。 フォントのフォールバックが発生する場合、 フォールバック先のフォントは 希望するフォントファミリーと 主要なタイポグラフィメトリクスの比率が異なることがあり、 その結果、異なる大きさに見えたり、 可読性が低下したりする場合があります。

w3c/csswg-drafts/8792[css-fonts-5] font-size-adjust: ic-height

font-size-adjust プロパティは、 フォントのフォールバックが発生した際に テキストの可読性や見かけの大きさを 維持するための手段を提供します。 これは使用するフォントサイズを調整し、 指定したメトリックがどのフォントを使っても同じになるようにします。

値の意味は以下の通りです:

none
特別な font-size の調整は行われません。
ex-height | cap-height | ch-width | ic-width | ic-height
正規化対象のフォントメトリックを指定します。 省略時は ex-height になります:
ex-height
フォントのアスペクト値を正規化します。 x-ハイトをフォントサイズで割った値を用います。
cap-height
フォントのキャップハイトを正規化します。 キャップハイトをフォントサイズで割った値を用います。
ch-width
フォントの横方向狭ピッチを正規化します。 “0”(U+0030)のアドバンス幅をフォントサイズで割った値を用います。
ic-width
フォントの横方向広ピッチを正規化します。 “水”(CJK水漢字、U+6C34)のアドバンス幅をフォントサイズで割った値を用います。
ic-height
フォントの縦方向広ピッチを正規化します。 “水”(CJK水漢字、U+6C34)のアドバンス高さをフォントサイズで割った値を用います。
<number [0,∞]>
各フォントの使用サイズは、 選択したフォントメトリックが 算出された font-size のこの指定された比率になるように正規化されます。 つまり各グリフについて、使うフォントサイズ u は以下のように計算されます:
u  =  ( m / m′ ) s

各値の意味:

s  =  算出された 'font-size!!property' の値
m  =  'font-size-adjust' プロパティで指定したメトリック
m′ =  実際のフォントにおける該当メトリック
u  =  調整後に使われるフォントサイズ

負の値は無効です。

from-font
指定したメトリックの <number>最初に利用可能なフォントに基づいて計算します。
テスト
下記のスタイルは希望するフォントファミリーとしてVerdanaを定義していますが、 Verdanaが利用できない場合はFuturaやTimesが使われます。 また、ある段落にはfont-size-adjustも指定されています。
p {
  font-family: Verdana, Futura, Times;
}
p.adj {
  font-size-adjust: 0.545;
}

<p>Lorem ipsum dolor sit amet, ...</p>
<p class="adj">Lorem ipsum dolor sit amet, ...</p>

Verdanaはアスペクト値が0.545と比較的高く、 小文字が大文字に比べて背が高いため、 小さいサイズでもテキストが読みやすいです。 Timesはアスペクト値が0.447と低いため、 フォールバックが発生すると font-size-adjustを指定しない限り、小さいサイズではVerdanaよりも可読性が下がります。

注: ダイアクリティカルマーク(発音記号など)が付くテキストでは、 x-ハイトが大きすぎると記号が狭くなってかえって可読性が下がる場合があります。

下図は各フォントでテキストをレンダリングした比較です。 列ごとにVerdana、Futura、Timesの順で表示しています。 各行内のセルでは同じfont-sizeを使い、赤線でx-ハイトの違いを示しています。 上半分では各行で同じfont-size値を指定しています。 下半分でも同様ですが、こちらは font-size-adjust プロパティを0.545に設定しているため、 実際のフォントサイズが調整されて各行でVerdanaのx-ハイトが保たれます。 下半分では小さいテキストでも比較的読みやすさが維持されている点に注目してください。

text with and without 'font-size-adjust'
font-size-adjust あり/なしでのテキスト比較

font-size-adjust の値は 使用される font-size 値に影響しますが、算出値には影響しません。 したがって、exやchなどフォントメトリックに基づく相対単位には影響しますが、em単位の大きさには影響しません。 また line-height の数値値は 算出された font-size に対して適用されるため、font-size-adjust使用される line-height 値には影響しません。

注: font-size-adjustline-height の計算には考慮されないため、 行の高さを厳しめに指定するとテキストが重なってしまう場合があります。 例えば、アスペクト値の低いフォントが高いフォントに正規化されると、 アセンダやディセンダが line-height: 1 の行ボックス外にはみ出す可能性があります。

font-size-adjust の調整は 選択された任意のフォントに適用されますが、 一般的な使い方では font-family リストの最初(最優先)のフォントの該当メトリック値を基準にすることが多いです。 これを正確に指定すれば、 調整式の (m/m′) の項は 最初のフォントについては 1 となり、調整は行われません。 その他のフォントは一致するように調整されます。 値が不正確に指定された場合、 font-size-adjust に対応していない古いユーザーエージェントでは familyリスト最初のフォントの表示が異なって見えることがあります。

作者は、同じ内容のspanを 異なる font-size-adjust で比較することで 任意のフォントの アスペクト値 を計算できます。 同じfont-sizeを使った場合、font-size-adjust の値が フォントに合っていれば2つのspanの大きさが揃います。

2つの枠付きspanを使って フォントの アスペクト値 を測定します。 両者の font-size は同じですが、 右側のspanだけ font-size-adjust が指定されています。 0.5から始めて、 2つの枠が揃うまで値を調整できます。

p {
  font-family: Futura;
  font-size: 500px;
}

span {
  border: solid 1px red;
}

.adjust {
  font-size-adjust: 0.5;
}

<p><span>b</span><span class="adjust">b</span></p>
Futura with an aspect value of 0.5
Futuraの アスペクト値 0.5の例

右側のボックスの方が少し大きいため、このフォントの アスペクト値 は0.5より小さいことがわかります。 値を調整して2つのボックスが揃うようにします。

注: 指定したメトリックが @font-face で 例えば size-adjust などで上書きされている場合、 計算には上書き後のメトリックが使われます。 そのため font-size-adjustsize-adjust を同時に使うと size-adjustは見かけ上効果がないように見えます。

3. フォントリソース

3.1. @font-face 規則

注: ディスクリプタは要素ごとではなくフォントごとに適用されます。 一つの要素内で複数のフォントが使用される場合があります(例えば first available font で未対応の文字用など)。

3.2. フォント参照: src ディスクリプタ

3.2.1. src ディスクリプタのパース

src ディスクリプタ値は、CSS Syntax 3 § 5.3.11 コンポーネント値のカンマ区切りリストのパースに従ってパースしなければなりません。 その後、各コンポーネント値を次の文法に従ってパースします:

<url> [ format(<font-format>)]? [ tech( <font-tech>#)]? | local(<family-name>)
<font-format>= [<string> | collection | embedded-opentype | opentype
 | svg | truetype | woff | woff2 ]
<font-tech>= [<font-features-tech> | <color-font-tech>
  | variations | palettes | 
    incremental-patch | incremental-range | incremental-auto ]
<font-features-tech>= [features-opentype | features-aat | features-graphite]
<color-font-tech>= [color-COLRv0 | color-COLRv1 | color-SVG | color-sbix | color-CBDT ]

コンポーネント値が正しくパースされ、かつ CSS Fonts 4 § 11.2 フォントフォーマット または CSS Fonts 4 § 11.1 フォント技術 に該当するサポート済みであれば、サポートされるソース一覧に追加します。 コンポーネント値のパースでエラーが発生した場合や、フォーマットや技術が未サポートの場合は、サポートソース一覧に追加しません。

この処理の最後にサポートされるエントリが1つもない場合、src ディスクリプタの値はパースエラーとなります。

これらのパース規則により、特定のフォント技術やフォント形式をサポートしないユーザーエージェントでもフォントのフォールバックが柔軟に行えます。

例えば、 インクリメンタル転送がサポートされていない場合は パフォーマンス最適化のためにwoff2圧縮版フォントを提供します。 その後、range-requestメソッドによる インクリメンタル転送用には 未圧縮のOpenTypeフォントを提供し、 クライアントがバイトレンジリクエストを行えるようにします。
@font-face {
  font-family: "MyIncrementallyLoadedWebFont";
  src: url("FallbackURLForBrowsersWhichDontSupportIncrementalLoading.woff2") format("woff2");
  src: url("MyIncrementallyLoadedWebFont.otf") format(opentype)  tech(incremental-range);
}

3.3. フォントプロパティディスクリプタ: font-size

w3c/csswg-drafts/806[css-fonts-5] @font-faceで範囲指定可能なfont-sizeディスクリプタ(オプティカルサイズ用)を追加
w3c/csswg-drafts/731[css-fonts] ex単位用のfont-sizeディスクリプタ
名前: font-size
対象: @font-face
値: auto | [<number>]{1,2}
初期値: auto
auto
フォントは任意のフォントサイズにマッチします
<number>
1つだけ <number> を指定した場合はその特定のフォントサイズのみにマッチします。 2つの <number> を指定した場合は その範囲のフォントサイズにマッチします。

3.4. グリフサイズ乗数: size-adjust ディスクリプタ

名前: size-adjust
対象: @font-face
値: <percentage [0,∞]>
初期値: 100%

size-adjust ディスクリプタは、このフォントのグリフのアウトラインやメトリックに乗算する倍率を指定します。 これにより、著者は同じ font-size で異なるフォントのデザインを調和できるようになります。

このフォントに関連するすべてのメトリック(グリフアドバンス、ベースラインテーブル、@font-face ディスクリプタによる上書きなど)および描画されるグリフ画像は、指定されたパーセンテージで拡大縮小されます。 そのため、フォントメトリック由来の値(exch 単位、from-font 値の text-decoration-thickness など)も このフォントをソースとする場合に影響を受けます。 ただし、算出された font-size(およびそこから派生する em 単位や text-underline-offset のパーセンテージなど)は影響を受けません。

w3c/csswg-drafts/8967[css-fonts-5] font-size-adjustとフォントメトリック上書き

注: size-adjust ディスクリプタは font-size-adjust プロパティと同様に、exハイトを揃えることでフォントごとに調整を行いますが、 同様に 算出された font-size には影響しません。

テスト

3.5. 行の高さのフォントメトリック上書き: ascent-override, descent-override, line-gap-override ディスクリプタ

名前: ascent-override
対象: @font-face
値: [ normal | <percentage [0,∞]> ]{1,2}
初期値: normal
名前: descent-override
対象: @font-face
値: [ normal | <percentage [0,∞]> ]{1,2}
初期値: normal
名前: line-gap-override
対象: @font-face
値: [ normal | <percentage [0,∞]> ]{1,2}
初期値: normal

ascent-override, descent-override, line-gap-override ディスクリプタは、それぞれフォントの ascentメトリックdescentメトリックline gapメトリック を指定します。 最初の値はx軸用、2つ目の値はy軸用(省略時は normal が既定)です。

normal
対応するメトリック値はフォントから通常通り取得され、このディスクリプタが@font-faceブロックに存在しない場合と同様に扱われます。

注: 一部のフォント形式ではこうしたメトリックの取得元が複数存在するため、ユーザーエージェントやプラットフォームによってテキストのレイアウトが異なる場合があります。

<percentage>
対応するメトリックは、指定されたパーセンテージと使用フォントサイズを乗算した値で置き換えられます。
テスト

font-size-adjust プロパティは size-adjust ディスクリプタの後に適用されます。

注: font-size-adjustsize-adjust の後に適用すると、size-adjust の効果が見かけ上なくなります。

注: これらのディスクリプタはいずれも算出された font-sizeline-heightフォント相対長の計算には影響しません。 ただし line-height: normal や、より一般的にはインラインレベルコンテンツのベースライン整列の挙動には影響する可能性があります。

注: これらのメトリックは ブロック軸でのみ適用されるため、y軸の値は縦組み組版モード でのみ使用されます。

パーセンテージは要素ごとに異なるフォントサイズに対して解決されます。
@font-face {
  font-family: overridden-font;
  ascent-override: 50%;
  ...
}

<span style="font-family: overridden-font; font-size: 20px;">
  Outer span content
  <span style="font-size: 150%;">Inner span content</span>
</span>

外側のspanはascent値として10pxを、内側のspanは15pxを使用します。

ローカルフォールバックフォントのメトリックをWebフォントの値に揃えて上書きすることで、 フォールバックから本来のフォントへ切り替わった際のレイアウトシフトを抑えることができます。
@font-face {
  font-family: cool-web-font;
  src: url("https://example.com/font.woff");
}

@font-face {
  font-family: fallback-to-local;
  src: local(Some Local Font);
  /* メトリック値をcool-web-fontに合わせて上書き */
  ascent-override: 125%;
  descent-override: 25%;
  line-gap-override: 0%;
  size-adjust: 96%;
}

<div style="font-family: cool-web-font, fallback-to-local">Title goes here</div>
<img src="https://example.com/largeimage" alt="A large image that you don’t want to shift"

ユーザーエージェントがWebフォントの読み込みを終えて切り替えた際、(上書き値がWebフォントの自然なメトリックに近ければ)画像の位置ズレが抑えられます。

3.6. 上付き・下付きメトリック上書き: superscript-position-override, subscript-position-override,superscript-size-override, subscript-size-override ディスクリプタ

名前: superscript-position-override
対象: @font-face
値: [ normal | from-font | <percentage> ]{1,2}
初期値: normal
名前: subscript-position-override
対象: @font-face
値: [ normal | from-font | <percentage> ]{1,2}
初期値: normal
名前: superscript-size-override
対象: @font-face
値: [ normal | from-font | <percentage [0,∞]> ]{1,2}
初期値: normal
名前: subscript-size-override
対象: @font-face
値: [ normal | from-font | <percentage [0,∞]> ]{1,2}
初期値: normal

superscript-position-override, subscript-position-override, superscript-size-override, subscript-size-override ディスクリプタは それぞれ、フォントの上付きオフセット・下付きオフセット・上付きサイズ・下付きサイズのメトリック値を指定します。 これらは font-variant-position でグリフ合成が必要な場合に使われます。 最初の値はx軸用、2つ目の値はy軸用(省略時は1つ目の値を使用)です。

normal
UAがフォントまたはヒューリスティックから適切なメトリック値を決定します。
from-font
フォントデータ内の対応するメトリック値が使用されます(存在しない場合は normal と同じ)。
<percentage>
対応するメトリックは指定したパーセンテージと使用フォントサイズを乗算した値に置き換えられます。

注: これらのメトリックは ブロック軸でのみ適用されるため、y軸の値は縦組み縦書き組版モードでのみ使用されます。

4. フォント機能プロパティ

4.1. フォント言語オーバーライド:font-language-override プロパティ

w3c/csswg-drafts/5484[css-fonts-5] font-language-override の削除

5. フォント機能とバリエーションの解決

w3c/csswg-drafts/5635[CSS-Fonts] バリアブルフォント設定を補間する方法が必要

6. フォントバリエーションプロパティ

6.1. 光学サイズ制御:font-optical-sizing プロパティ

w3c/csswg-drafts/5466[css-text][css-fonts] 行の光学的境界

7. セキュリティ上の考慮事項

この仕様に関して新たなセキュリティ上の考慮事項は報告されていません。

8. プライバシー上の考慮事項

この仕様に関して新たなプライバシー上の考慮事項は報告されていません。

9. 謝辞

まず、編集者はこのモジュールの前レベルの貢献者全員に感謝したいと思います。

次に、PDFReactorのDerKoun氏、GoogleのXiaocheng Hu氏、MozillaのJonathan Kew氏に、本レベル5の改良への貢献に感謝します。

10. 変更点

10.1. 2021年12月21日WD 以降の変更点

10.2. 2021-07-29 WD 以降の変更点

10.3. 2021-06-29 FPWD 以降の変更点

適合性

文書の慣例

適合性要件は、記述的な主張とRFC 2119の用語の組み合わせで表現されます。規範的な部分で使われるキーワード「MUST」, 「MUST NOT」,「REQUIRED」,「SHALL」,「SHALL NOT」,「SHOULD」,「SHOULD NOT」, 「RECOMMENDED」,「MAY」,「OPTIONAL」はRFC 2119で説明されている通りに解釈されます。 ただし、可読性のため、この仕様ではこれらの単語はすべて大文字にはなっていません。

この仕様の本文は、明示的に非規範的と記載されたセクション、例、注記を除き、すべて規範的です。[RFC2119]

この仕様の例は「例えば」という言葉で始まるか、class="example" によって本文と区別されます。例:

これは参考例の一例です。

参考ノートは「Note」という単語から始まり、class="note"で本文と区別されます。例:

Note、これは参考ノートです。

助言は特別な注意を喚起するようにスタイルされ、<strong class="advisement">で他の規範的な本文と区別されます。例: UAはアクセシブルな代替手段を必ず提供しなければなりません。

テスト

この仕様の内容に関連するテストは、このような “Tests” ブロックで記載される場合があります。 これらのブロックはすべて非規範的です。


適合クラス

この仕様への適合は、3つの適合クラスについて定義されています:

スタイルシート
CSSスタイルシート
レンダラー
UA はスタイルシートのセマンティクスを解釈し、 それを使う文書をレンダリングする。
オーサリングツール
UA はスタイルシートを作成する。

スタイルシートは、当モジュールで定義された構文を使うすべての文が、汎用CSS文法と各機能の個別文法に準拠していれば、この仕様に適合しています。

レンダラーは、適切な仕様に従ってスタイルシートを解釈することに加え、この仕様で定義されたすべての機能を正しくパースし、それに応じて文書をレンダリングすることで、この仕様に適合します。ただし、デバイスの制限によりUAが文書を正しくレンダリングできない場合でも、UAが非適合とはなりません。(例:UAはモノクロモニターで色をレンダリングする必要はありません。)

オーサリングツールは、汎用CSS文法および当モジュール内の各機能の個別文法に従って文法的に正しいスタイルシートを書き、スタイルシートのその他すべての適合要件を満たしていれば、この仕様に適合しています。

部分的な実装

著者がフォールバック値を割り当てるために前方互換のパース規則を利用できるよう、CSSレンダラーは、使用可能なレベルのサポートがない@ルール、プロパティ、プロパティ値、キーワード、およびその他の構文要素を無効として扱い(適切に無視しなければなりません。特に、ユーザーエージェントは、サポートされていないコンポーネント値だけを選択的に無視し、単一の複数値プロパティ宣言でサポートされている値のみを適用してはなりません。いずれかの値が無効(サポートされていない値は無効)と見なされる場合、CSSでは宣言全体を無視する必要があります。

不安定および独自機能の実装

将来の安定したCSS機能との競合を防ぐため、CSSWGはベストプラクティスに従って、CSSの不安定機能および独自拡張の実装を推奨します。

非実験的な実装

仕様が候補勧告段階に到達すると、非実験的な実装が可能となり、実装者は仕様に従って正しく実装できることを示せるCRレベルの機能については、接頭辞なしで実装をリリースすべきです。

CSSの実装間で相互運用性を確立および維持するため、CSSワーキンググループは、非実験的なCSSレンダラーが、接頭辞なしのCSS機能をリリースする前に、実装レポート(必要に応じてそのレポートで使用したテストケースも)をW3Cに提出することを求めています。W3Cに提出されたテストケースは、CSSワーキンググループによるレビューおよび修正の対象となります。

テストケースおよび実装レポートの提出に関する詳細は、CSSワーキンググループのWebサイトhttps://www.w3.org/Style/CSS/Test/をご参照ください。 質問はpublic-css-testsuite@w3.org メーリングリストにお問い合わせください。

索引

この仕様で定義される用語

参照によって定義された用語

参考文献

規範的参考文献

[CSS-CASCADE-5]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS Cascading and Inheritance Level 5. 2022年1月13日. CR. URL: https://www.w3.org/TR/css-cascade-5/
[CSS-FONTS-4]
John Daggett; Myles Maxfield; Chris Lilley. CSS Fonts Module Level 4. 2021年12月21日. WD. URL: https://www.w3.org/TR/css-fonts-4/
[CSS-INLINE-3]
Dave Cramer; Elika Etemad. CSS Inline Layout Module Level 3. 2023年4月1日. WD. URL: https://www.w3.org/TR/css-inline-3/
[CSS-SYNTAX-3]
Tab Atkins Jr.; Simon Sapin. CSS Syntax Module Level 3. 2021年12月24日. CR. URL: https://www.w3.org/TR/css-syntax-3/
[CSS-TEXT-DECOR-4]
Elika Etemad; Koji Ishii. CSS Text Decoration Module Level 4. 2022年5月4日. WD. URL: https://www.w3.org/TR/css-text-decor-4/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 3. 2022年12月1日. CR. URL: https://www.w3.org/TR/css-values-3/
[CSS-VALUES-4]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 4. 2023年12月18日. WD. URL: https://www.w3.org/TR/css-values-4/
[CSS2]
Bert Bos; 他. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 2011年6月7日. REC. URL: https://www.w3.org/TR/CSS21/
[CSS22]
Bert Bos. Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification. 2016年4月12日. WD. URL: https://www.w3.org/TR/CSS22/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. 1997年3月. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119

参考情報

[CSS-DISPLAY-3]
Elika Etemad; Tab Atkins Jr.. CSS Display Module Level 3. 2023年3月30日. CR. URL: https://www.w3.org/TR/css-display-3/
[CSS-WRITING-MODES-4]
Elika Etemad; Koji Ishii. CSS Writing Modes Level 4. 2019年7月30日. CR. URL: https://www.w3.org/TR/css-writing-modes-4/

プロパティ索引

名前 初期値 適用対象 継承 %指定 アニメーションタイプ 標準順序 算出値
font-size-adjust none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number [0,∞]> ] none すべての要素およびテキスト はい N/A キーワードが違えば離散、そうでなければ算出値型で 文法通り noneキーワード、またはメトリックキーワードと<number>の組

@font-face ディスクリプタ

名前 初期値
ascent-override [ normal | <percentage [0,∞]> ]{1,2} normal
descent-override [ normal | <percentage [0,∞]> ]{1,2} normal
font-size auto | [<number>]{1,2} auto
line-gap-override [ normal | <percentage [0,∞]> ]{1,2} normal
size-adjust <percentage [0,∞]> 100%
subscript-position-override [ normal | from-font | <percentage> ]{1,2} normal
subscript-size-override [ normal | from-font | <percentage [0,∞]> ]{1,2} normal
superscript-position-override [ normal | from-font | <percentage> ]{1,2} normal
superscript-size-override [ normal | from-font | <percentage [0,∞]> ]{1,2} normal

課題索引

w3c/csswg-drafts/126[css-fonts] フォールバックフォントのパラメータ変更の指定
w3c/csswg-drafts/4910[meta] [css-fonts] 汎用フォントファミリーの基準
w3c/csswg-drafts/4566[css-fonts] 追加の汎用フォント用レジストリを開始するべきか?
w3c/csswg-drafts/2690[css-fonts-4] font-weightの相対値におけるパーセンテージ
w3c/csswg-drafts/4044[css-fonts] 縦書きテキストがfont-styleやfont-stretchと競合する
w3c/csswg-drafts/8792[css-fonts-5] font-size-adjust: ic-height
w3c/csswg-drafts/6384[css-fonts-5] font-size-adjustでメトリクスが不足している場合
w3c/csswg-drafts/6384[css-fonts-5] font-size-adjustでメトリクスが不足している場合
w3c/csswg-drafts/806[css-fonts-5] @font-faceに範囲指定可能なfont-size記述子の追加(光学サイズ用)
w3c/csswg-drafts/731[css-fonts] ex単位用のfont-size記述子
w3c/csswg-drafts/8967[css-fonts-5] font-size-adjustとフォントメトリクスの上書き
w3c/csswg-drafts/5484[css-fonts-5] font-language-override の削除
w3c/csswg-drafts/5635[CSS-Fonts] バリアブルフォント設定を補間する方法が必要
w3c/csswg-drafts/5466[css-text][css-fonts] 行の光学的境界