ベースラインやメトリックの合成
テキストのベースライン
フォントにテキストを整列するのに必要なメトリックが含まれていない場合には以下の方法を代わりに使用します。
いくつかのメトリックは関連しているため、その関係性から欠落している仮定的にメトリックを求めることができる場合があります。フォント自体に算出方法が定義されていない場合には以下の手順で算出することができます。
- “central”ベースラインは“ideographic-under”ベースラインと“ideographic-over”ベースラインの中間なので、3つのうちのいずれかが欠落している場合は他の2つを使用して残りを算出します。
- “ideographic-under”ベースラインと“ideographic-over”ベースライン、“central”ベースラインのうちいずれか1つしか設定されていない場合には“ideographic-under”ベースラインと“ideographic-over”ベースラインの間が“1em”だと仮定して他の2つを算出します。
- “descent”ベースラインと“ascent”ベースラインが設定されていない場合はそれぞれ“ideographic-under”ベースラインと“ideographic-over”ベースラインと同じと仮定してこれら2つを算出します。
メトリックは文字の形状から算出することもできます。
- マイナス記号(U+2212、“−”)の中央は“math”ベースラインを算出するのに使用できます。
- 小文字の“o”の“alphabetic”ベースラインよりも下の部分の高さを“o”の上端から引くことで“x-height”ベースラインを算出できます。
- 大文字の“O”の“alphabetic”ベースラインよりも下の部分の高さを“O”の上端から引くことで“cap-height”ベースラインを算出できます。
- 漢字の“永(U+6C38)”のバウンディング・ボックスは“ideographic-under”ベースラインと“ideographic-over”ベースラインを算出するのに使用できます。
- ヘブライ文字の“ה(U+05D4)”の上縁はヘブライ文字の“hanging”ベースラインを算出するのに使用できます。
- デーヴァナーガリーの“क(U+0915)”、ベンガル文字の“ক(U+0995)”、グルムキー文字の“ਕ(U+0A15)”、チベット文字の“ཀ(U+0F40)”の上縁はそれぞれの文字の“hanging”ベースラインを算出するのに使用できます。
他に以下の代替値を使用することもできます。
- “x-height”ベースラインは“0.5em”の位置と仮定できます。
- “cap-height”ベースラインは“0.66em”の位置と仮定できます。
- “hanging”ベースラインは“0.6em”の位置と仮定できます。
アトミック・インラインのベースライン
置換要素やインライン・ブロック(“display: inline-block;”)、インライン・テーブル(“display: inline-table;”)のようなアトミック・インラインの場合はインライン整形コンテキストのインライン軸方向のベースライン・セットがなければアラインメント・ベースラインは以下のようにそのマージン・ボックスから合成されます。
次のベースラインはマージン・ボックスのライン・オーバー側の縁にあると仮定します。
- “text-under”ベースライン
- “ideographic-under”ベースライン
- “ideographic-ink-under”ベースライン
- “alphabetic”ベースライン
次のベースラインはマージン・ボックスのライン・アンダー側の縁とライン・オーバー側の縁の中間にあると仮定します。
- “central”ベースライン
- “math”ベースライン
- “x-middle”ベースライン
次のベースラインはマージン・ボックスのライン・アンダー側の縁にあると仮定します。
- “text-over”ベースライン
- “ideographic-over”ベースライン
- “ideographic-ink-over”ベースライン
- “cap-height”ベースライン
- “hanging”ベースライン
- “x-height”ベースライン
“em-over”ベースラインと“em-under”ベースライン
“central”ベースライン、“ideographic-under”ベースライン、“ideographic-over”ベースラインのいずれかが設定されていれば“em-over”ベースラインは“central”ベースラインの“0.5em”上、“em-under”ベースラインは“central”ベースラインの“0.5em”下の位置です。
そうでなければ、
アセント・メトリックとディセント・メトリックを比率が変わらないようにしながら和が“1em”になるように増減され、その結果のアセント・メトリックを“em-over”ベースライン、ディセント・メトリックを“em-under”ベースラインの位置とします。