Re: 行の配置の説明

(コメントします)

>  理由2 行送りよりは行間の方が直感的で説明しやすい.

行送り方向での、ボディの大きさの変化を無視できるという点では、その通りだと思います。行中に異なる文字サイズのボディが混在する場合は、あくまで局所的な例外であって(それらの先頭行および後続行の処理のどちらについても)、ここでは述べる必要はないと考えます。それは、いわゆる異級数揃えの話で、行方向につき三つの基準揃え位置が存在することを、別のところで述べれば良いと考えます。

Natが書いたように、フォント内のグリフの原点は、(x, y)= (0,
0)であり、これは欧文のベースラインの開始位置と常に一致しますが、日本語の全角ボディがそのベースラインに対してどのような相対的な位置関係にあるかは、OpenTypeフォントでは'BASE'テーブルの'idtp'と'ideo'の値または'OS/2'テーブルのsTypoAscenderとsTypoDescenderの値で指定されます。グリフの手続きがCFFまたはCFF2に基づくOpenTypeフォントの多くは、y
= -120の位置が全角の下辺の位置となりますが、すべてのフォントがその位置に和文の全角ボディを配置しているとは限りません。

しかし、和文組版においては、このベースラインと和文の全角ボディの相対的な位置関係は、指定された位置に和文のグリフ(および行および段落)を配置するために、
その指定された位置の値をアプリケーションが内部的に用いるベースラインを基準にした位置に換算するために必須の情報となります。なぜなら、和文の文字や行や段落の位置指定は、全角ボディのどれかの辺の位置(あるいはセンター・センターの場合には全角の中心)を基準に行われるからです。ある行と次の行との距離の指定を、行間で指定するにせよ、行送りで指定するにせよ、最初の行の位置が指定通りになっていなければ意味がないため、このベースラインと和文の全角ボディとの相対的な位置関係の情報は、和文組版においては不可欠かつ最重要のものの一つと考えられます。

山本太郎

Received on Thursday, 9 April 2026 05:14:58 UTC