RE: 行長は全角の整数倍であらねばならないか

(コメントします)

>> 仮想ボディが、プロポーショナルでなく、長体・平体になった場合には、その矩形の仮想ボディそのものが、全角となると考えます。
> それでは,プロポーショナルの場合の全角は,どう定義しますか.
> 次に,これだと,半角カタカナの字幅は,全角ということになりませんか.

すみません。不正確でしたので、私が上に書いた文を以下のように訂正いたします。

	日本語で用いる漢字や仮名などの主要なグリフ(以後、「日本語グリフ」と呼ぶ)に適用される仮想ボディの寸法が、字送り方向にcondensed/expandedになる場合には、その矩形の形状を、フォント全体として日本語グリフにおける、全角と解釈することができます。

この「全角」は、フォント全体において、主要な日本語グリフにあてはまる全角であることが想定・期待されますが、先にも述べましたが、だからといって、この全角情報は、個別のグリフが表示・印字される時に参照される情報ではなく、個別グリフに関する情報から独立したフォント全体の日本語グリフについての附属情報です。それは、個別のグリフの字幅を規定あるいは制限しません。ですから、プロポーショナル欧文や半角カタカナなどは、この全角情報とは異なる仮想ボディを持ち、それぞれ固有の字幅で、表示・印字されることになります。それら個別のグリフの固有の字幅情報は、それら個別のグリフに対応した情報として別にフォント内に収容されています。

このことは、従来の日本語フォントのように、日本語グリフが正方形の仮想ボディをもつ場合でも、日本語グリフの仮想ボディが正方形であることとは独立して、欧文のグリフや半角グリフが、それぞれプロポーショナル、半角で表示・印字可能であることに対応しています。しかし、テキストエンジンが日本語グリフをスペーシングする場合には、そのフォント中にプロポーショナルや半角のグリフが含まれていても、日本語グリフについては、文字サイズ(字送り方向と直交する方向でのボディの両辺間の距離)と等しい字幅をもつ正方全角であることを想定して、スペーシングの調整を行っています。このことを、正方形でない等幅の仮想ボディをもつ日本語グリフを含むcondensed/expandedフォントの場合に拡張すると、上に述べたようになると考えます。

日本語グリフが欧文のように完全にプロポーショナルのフォントの場合には、欧文と同様、それぞれのグリフが固有の字幅で送られるので、上記の全角情報は、その書体デザインに応じて、そのデザインのグリフが一番望ましいスペーシングで組まれるような全角情報を、書体デザイナーが決定して設定することになるでしょうし、正方形のままで問題がなければ、従来のフォントと同じ正方形の全角情報をそのまま用いるでしょう。(このことは、日本語グリフでも仮名と漢字で字幅を変えているような等幅でないcondensedフォントについてもあてはまると思います)。現在市場に存在している日本語のプロポーショナルフォントは、この点について意識して作られてはおらず、全角情報を明示的に'BASE'テーブルでは指定していないので、従来どおりの、全角が正方形であることを想定して設定された'OS/2'テーブルの情報が使われ、テキストエンジンはそれを参照していると思われます。

また、先にも述べましたし、Natも述べましたが、現在市場に出ている、いわゆる「長体」日本語フォントは、基本的に横組だけに対応したもので、縦組にも対応したcondensed日本語フォントは存在していないと推測いたします。

山本

Received on Saturday, 7 October 2023 12:24:47 UTC