CSSインラインレイアウトモジュールレベル3では、インラインボックスの高さの基準を定めることができます。
5.2. Inline Box Edge Metrics: the text-edge property | CSS Inline Layout Module Level 3
ですので、text-edge: text
でアセンダやディセンダを考慮したインラインボックスの高さとすることができるはずです。たぶん。
実装されれば。
現状では、手計算でline-height
を設定するしかないと思います。たとえば、メイリオだとおそらく1.5かと。
このツールを使って LineSpacingRate の値を調べてみると、**メイリオ, Meiryo UI, MeiryoKe_Gothic, MiryoKe_Console, MS ゴシック についてはそれぞれ 1.50, 1.27, 1.18, 1.00, 1.00 になっています。**なお、このツールではベースラインから上の部分をアセント(CellAscent)、下の部分をディセント(CellDescent)と呼んでおり、これらのアセント・ディセントの値は ttfname3.exe で表示されるアセンダ(Ascender)・ディセンダ(Descender)の値と一致しています。つまり Microsoft がアセンダと呼んでいるものは「欧文書体の基礎知識」に載っているアセンダの定義とは異っているわけです。
また、「フォント メトリックを取得する」では、CellAscent+CellDescent の値を「セル高 LineSpacing」、セル高から空隙部分を引いた値を 「em高 EmHeight」と呼んでいます。FontInfo.exe では、(セル高)を(em高)で割って LineSpacingRate の値を求めていますから、この値から 1.00 を引いたものが内部レディング(Internal Leading)の割合を表しています。
つまり、メイリオには em高の 50% (1.50ー1.00=0.50) にあたる内部レディングが含まれており、Meiryo UI には 27% の、MeiryoKe_Gothic には 18% の内部レディングがそれぞれ含まれていること、そしてMS ゴシックや MiryoKe_Console には内部レディングがない (0%) ことが分かります。
ことば・その周辺 PC版「メイリオ(3)――メイリオ系フォントのアセンダ・ディセンダ(1)」
That means the Catamaran font uses 1100 + 540 units in a 1000 units em-square, which gives a height of 164px when setting font-size: 100px. This computed height defines the content-area of an element and I will refer to this terminology for the rest of the article. You can think of the content-area as the area where the background property applies
Deep dive CSS: font metrics, line-height and vertical-align - Vincent De Oliveira
蛇足
上記記事にあった、この言葉を最後に書いておきますね。
It becomes obvious that setting line-height: 1 is a bad practice. I remind you that unitless values are font-size relative, not content-area relative, and dealing with a virtual-area smaller than the content-area is the origin of many of our problems.
Deep dive CSS: font metrics, line-height and vertical-align - Vincent De Oliveira
line-height: 1 がバッドプラクティスであることは明らかです。
ちなみに、その後にこんなことも書いてあります。
But not only line-height: 1. For what it’s worth, on the 1117 fonts installed on my computer (yes, I installed all fonts from Google Web Fonts), 1059 fonts, around 95%, have a computed line-height greater than 1. Their computed line-height goes from 0.618 to 3.378. You’ve read it well, 3.378!
Deep dive CSS: font metrics, line-height and vertical-align - Vincent De Oliveira
参考までに私がインストールした1117個のフォント(ええ、Googleフォントは全部インストールしてます)ですが、...... line-height は 0.618 から 3.378 でした。よろしいですか?3.378です!
ええと、どうすれば?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。