このファイルには、3.2章 全幅の定義、および、別の章におくべきその背景を収めてある。チームの承認があれば、それぞれ適切な場所に移動する。
少々の混乱の可能性のあることを理解しつつ、これを定義する。
Jlreq-dでは従来から使われてきた「全角(=em square?)」に替えて、「全幅(fullwidth)」という単位を次のように定義し、使用する。
全幅とはその場所のフォントの和字の字送り幅。全角空白(U+3000)グリフの文字送り方向の幅として測定する。
「全幅」は従来の組版規則で使われてきた「全角」という単位を、ボディーが正方形でないフォントに対しても適用できるよう、字送り方向の幅に限定し一般化したものである。「全角」は正方形であって長体や扁平体の字送り幅を表現できないのに対し、全幅は字送り方向の幅のみを表し、これらのフォントにも適用することができる。また、その測定方法から、漢字と仮名の幅が異なるフォントや、仮名がプロポーショナルなフォントに対しても定義することができる。
大多数の日本語フォントでは全幅は全角の大きさに一致する。Unicode / CSS などでfullwidthという用語が全角文字の幅として使用されているので、全幅の英訳としてfullwidthを使用する。
下の部分は適宜アップデート
この文書で全幅は次の幅の指定に使われる:
- 段落先頭行の字下げの幅
- 両端揃えを行う際の行長
- その他、和欧間や分かち書きなどのアキを規定するときの基準
「全幅」は従来の組版規則で使われてきた「全角」という単位を、ボディーが正方形でないフォントに対しても適用できるよう、字送り方向の幅に限定し一般化したものである。
JLReqやJIS X 4051など、従来の組版規則は、フォント中の和字が全角、すなわち正方形のボディを持っていることに依存して記述されている。大多数の日本語フォントはこの前提に当てはまるが、従来から長体や扁平体など、この前提から外れるフォントも存在していた。さらにデジタル化の進展により、漢字と仮名の幅が異なる長体フォントや、仮名がプロポーショナルであるフォントなど、多様性が増している。これらの多様なフォントに対しても可能な範囲で統一的な組版規則を記述できる用語体系が必要である。
JLReqにおいて全角という単位は次の場合に使われている:
他にも見つかれば追加する
- 段落先頭行の全角下がり
- 分かち書きなどのアキが全角(しかし全角は広すぎるように感じる)
- 和欧間のアキが全角の整数分の一(1/4-1/8)
- 括弧や句読点の字幅が全角。アキの大きさが全角の半分
- 行長が全角の整数倍
- 行間の基準が全角の½
1から3では全角という用語が空白の字送り方向の幅の基準として使われている。1, 2には全角空白文字U+3000そのものが使われる。よってフォントの和字が統一的な幅をもっていない場合でも、その全角空白文字の幅はこれらの目的に適切と考えることは合理的であろう。3はその整数分の一である。
約物の字幅やそこに含まれる空白の幅はタイプフェースデザイナーの範囲なのか、組版規則の範囲なのか判然としないが、自由度を最大にとった場合、4はそれぞれ個別の約物の字幅、およびその中に含まれる空白として考えることができる。
5は全ての和字が同じ幅の時にのみ意味があり、その場合には特定の和字の幅で代用できる。
6は行送り方向の幅であり、幅とは別個の定義が必要だが、この単位が必要な箇所が少ないことから、用語を作る必要性は高くないと考えられる。
新たな単位の定義の方法の一つは、フォント中の和字が全て同じ幅の時に、その幅とすることである。しかし、OpenTypeなどのフォント規格には、和字が全て同じ幅であるかどうかを示す情報は存在しない。そのためCSSでは、等幅であるかどうかを判定するために数種の漢字の幅を比較するという手間がかかりかつ不確実な方法で代用している。
もう一つの方法は、特定の文字の幅をもって全幅の定義とする方法である。上の分析によると1, 2, 3 は全角空白の幅を基準とするのが合理的であり、この幅は5にも使うことができる。4は全体的な基準によらず、個別の約物の幅でよかろう。よって、幅の基準として全角空白を使用するのが合理的であろう。
この単位の名前として以下の意見があった
- 全角という言葉を再定義する
- 別の言葉で定義する
- 定義せず、その度に説明する
全角という概念は歴史があり、またフォントサイズとも結びついているため、この言葉を定義し直すと混乱が大きいと考えられた。この概念は全角を置き換える役目を持つため、言葉を決めずに都度説明するよりも、言葉が欲しい、ということでいくつかの案の中から「全幅」と仮に決めた。