RE: ラテン文字のボディの大きさ

またまたコメントします。(團伊玖磨ではないですが)。

> そうだろうとは思っていたが,プロポーショナルな文字では“vpal”は使えないんだ.

当初から、'palt'と'vpal'が作られた目的は、等幅の仮名文字グリフを用いながら、「仮名詰め」の効果を得るためにありました。写植機用の文字盤には仮名詰め用文字盤があり、1990年代前半に、DTPになってからも、書体ごとの全角ボディからの差分情報をもった別ファイルを用いて仮名詰めを自動化することが行われていました。それを、OpenTypeの'GPOS'テーブルのフィーチャーとして導入したのが'palt'と'vpal'です。その機能は、等幅のグリフを個々のグリフが固有の字幅を持つプロポーショナルにすることにあります。

> 現在,縦組の行への文字の配置方法,特に字詰め方向へ文字の占める大きさが問題となっています.現在はラテン文字が中心のテーマですが,漢字や仮名の和文文字はどう処理しているのでしょうか.原点の位置と,送り量(字詰め方向と行送り方向)は,どうやってアプリケーションは認識しているんでしょうか.それは縦組と横組で異なるのでしょうか.

これは既に既に津田さんが詳しく述べておられますが、基本的には全角のラテン文字と変わりません。欧文のベースラインの位置と全角ボディの相対的な位置関係はフォント中の'BASE'テーブルや'OS/2'テーブルの情報から取得できます。そのため、行の構成方法は実装に依存すると思いますが、基本的には、正方形のボディを持つ和文フォントの場合には、(異級数揃えでない場合には)その全角ボディの左右中心を行の中心と合わせて、行頭と全角ボディの上辺を揃えて配置し、現在の位置を文字幅分だけ下の位置に更新して、次の文字の印字位置に進むことになると考えます。

ただし、和文組版においては、ページレイアウトと版面の位置指定、文字サイズ、行長(字詰め)・行数の指定が、すべて全角ボディのサイズとそのどれかの辺を参照して行われるため、開始行の先頭文字の位置決めを正確に行うためには、明示的にその先頭文字のボディの位置を組版者が指定できる必要があります。そして全角ボディ基準の指定どおりに正しく組むためには、InDesignのフレームグリッドまたはそれに類似の仕組みが必要となります。

> ただ,その説明に変えると,これまでのいきさつもあり,けっこう大変(やりたくいない).そこで,併用という方法もありえるかな,とも思っています.ここは“ボディ”の説明でなく,“送り量”で説明するよ,といって解説する項目もあっていいと考えるということです.そして,ボディで説明している箇所でも,字送り量の説明を補足的にくわえておくという方法です.

その方法は妥当だと私も考えます。理由は、そもそも和文・欧文を問わず、プロポーショナルのフォントは、一定の固定したボディを持たないからです。

共通なのはベースラインだけで、個別グリフごとに異なる字幅とグリフ自体のBBOXを持っているだけです。和文フォントの中の欧文グリフについても同様のことが言えます。

ただし、全角EM BOXを暫定的な便宜上のボディとして考えることが便利な場合もあります。それは、スペーシングが必ずしも最適化できないとはいえ、プロポーショナルの大文字や数字のグリフが全角の範囲内に収まる場合には、その便宜上のボディに正立の欧文グリフを配置すれば、ディセンダ―やアセンダーの長い文字を使わない限りは、頭文字や組み数字の用途では、使えなくはないからです。

また、全角EM BOXはUPM (Units Per Em) と一致しているため、指定した文字サイズが全角EM BOXの大きさになり、プロポーショナルグリフをデザインする上でも一定の参照情報として有用であり、そのことが、欧文の場合には同じ文字サイズでも実際のグリフの大きさは、書体によって大きく異なるとはいえ、一定のガイドとしては機能していると考えられます。ただし、その便宜的なボディは、当然のことながら、実際のグリフの形とは無関係ですから、スペーシングは不均等になり、特にディセンダ―やアセンダーが全角ボディから食み出る場合には、特別な調整をしない限り、前後のグリフと接触する可能性は避けられません。

山本

Received on Wednesday, 9 July 2025 01:23:31 UTC