RE: ラテン文字の位置

コメントします。



> スタートは,yの位置はゼロである.これは国,a及びbとも同じである.



国がそうなるかどうかは分かりません。



> 1 国の問題(上下位置を示す位置としてマイナスの値を付与)

>

> (1)国の上下位置を示す位置としてマイナスの値を付与できる.例えば,上下のボディサイズを1000とすれば,−120など.これにより,y=0の位置との関係からいえば,国の上下のボディサイズは,−120から880となる(これはボディサイズであり,この範囲内で> 字面が配置され,上下にいくらかの余白はでる).これは,あくまで相対量なので,文字サイズに応じて,実際のサイズは決まってくる.

>

>(2)これから,国の上端,下端,中心の位置はわかる.これにより,ある領域の先頭からあるアキをとった位置に国の上端を配置できるし,字送りの処理であろうが,実際に行うか行わないかは別にして,行間の処理,つまりボディとボディのアキの処理も可能にな<?> > る



国もaもbも、すべてフォントの中では、同じ文字座標系の中に配置され、aとbの多くの文字は常にy = 0のベースラインに揃います。

国がどこに揃うか、国の下辺がy < 0になるのは、国の下辺をy = 0に合わせると、aとbが下になり過ぎるからです。つまり、国の中心位置をy方向で国やaやbの大文字や小文字が占有する範囲の中心で揃えようとすれば、国の下辺はy < 0にするしかないからです。



> 2 国の問題(上下位置を示す位置としてマイナスの値を付与しない場合)

>

>(1)国の上下位置を示す位置としてマイナスの値が付与されていない場合は,どう考えたらよいのか.その場合,国の下端がy=0になるのか? ボディサイズを1000とすれば,0から1000となるのか.



何も特殊な位置補正を行わない場合には、これは存在しません。国とaとbが行の上下方向で揃って見えないからです。(ただし、bについては末尾のBASEテーブルの利用する場合がこの事例に関係しています)。



>(2)それとも,国の上端や下端の位置は使用しないで,y=0の位置だけで配置していくのか.ある領域の先頭に配置する場合,領域とのアキ+文字サイズとすればよい.これは(3)と同じになる.

(これも、bについては末尾のBASEテーブルの利用する場合がこの事例に関係していますが、そうでない場合には、あてはまりません。)。



> 3 aの問題(国にマイナスの値を設定した場合)

>(1)aの文字設計は,まず,上下のボディサイズを1000とすれば,y=0,上下のボディサイズ−120から880が前提となる.aのベースライン位置は,y=0にしてもよいし,別の値にしてもよいと考えられる.



これまでのフォントでは、全ての場合で、aのベースライン位置は必ずy = 0でなければなりません。そうでないフォントはフォント形式が想定していない非標準的な実装とみなされるでしょう。なぜなら、世界中の他の欧文フォントとベースラインが揃わなくなるからです。欧文のグリフは世界中の欧文のグリフとベースライン位置で揃う必要があります。



>(4)国とaの上下の位置は,デフォルトでは上端,下端,及びベースライン位置のどこかで合わせることになる.どこを揃えても同じ結果になる.もちろん,文字の上下位置を変更することは可能であるが,



aの上下位置は固定です。y = 0 以外はあり得ません。そのため、国が相対的にどのようなy位置にくるかだけを、フォントのデザイナーは決めることができます(慣習的にはOpenTypeフォントの場合は、国の下辺をy = -120の場合が多いですが)。

(これも、bについては末尾のBASEテーブルの利用する場合がこの事例に関係していますが、そうでない場合には、あてはまりません。)。



> 4 aの問題(国にマイナスの値を設定しない場合)

>(1)aの文字設計では,y=0をベースライン位置として行う.

> (2)国とaとの上下位置を合わせる場合,デフォルトでは,y=0に位置を合わせることになる.つまり,国の下端とaのベースライン位置を合わせる.(最近,目にする書籍の配置では,この例が多いようだ.)

これは特殊用途のフォントでない限り、現実にはあり得ません。日本語の行中でアセンダーの上が空きすぎ、ディセンダ―の下が狭すぎます。そもそも行の進行方向に揃って見えません。
(これも、bについては末尾のBASEテーブルの利用する場合がこの事例に関係していますが、そうでない場合には、あてはまりません。)。



> 6 bの問題1(ボディの上下の位置を設定している場合)



aとbとの間に、フォントの中においては、上下方向の位置に関する違いはまったくありません。上に述べたことが、aにもbにもそのまま当てはまります。



ただし、国をデザインするデザイナーはbのデザインのことをふつうは知りません。だから、国とaとをデザインする場合のようには、国とbの大きさや太さやカウンタースペースや字幅を見ながら、国の位置を決めたり、bのデザインや大きさや太さや字幅を決めたりすることはできません。



国とbについては、両者を最適な状態で組み合わせることは、国のデザイナーには不可能です。だから、これまでは、出版物のデザイナーが実際に組み見本を組んで、どの欧文書体が国と組み合わせるべきb(欧文書体)としてふさわしいかを判断して、欧文書体を選択したわけです。また、その大きさを微調整したりすることもしました。今後、Variable Fontsの利用などによって最適化の作業を助ける技術は増えるかもしれませんが、独立した国とbというフォントを組み合わせる際に、デザイナーやタイポグラファが行わなければならないチェック作業、書体を選択し、大きさや位置を調整する作業があることに変わりはありません。



ただし、上下方向の位置だけに関して言えば、例えば、OpenTypeフォントのBASEテーブルのIdeographic EM-boxの属性を欧文フォントに付与することで、ある欧文フォントの大文字の中心と和文の全角の中心とを合わせるように組むための情報(つまり日本語の全角ボディの位置、例えば-120とか-150とか)が利用可能となり、日本語の書体で組んだ行中にその欧文書体を適切に配置することができるようにすることが可能です。例えば、Adobe Garamond Pro Regularのフォントの場合、BASEテーブルには次のように書かれています。



欧文(ここではromn)のベースラインは y = 0ですが、漢字(ideo)のボディのベースライン位置は-170とあります。



[cid:image001.png@01DC74E5.E38C5570]

これを図示したものが下です。



[cid:image002.png@01DC74EB.80427D90]



左が、単純に和文フォントの全角ボディとこの欧文フォントとを欧文のベースライン位置だけを頼りに組み合わせた例です。右は、上記のBASEテーブルの情報を利用して、全角ボディの上下方向の相対的な位置を調整した場合です。大文字の高さの中心と和文の全角の中心の高さが揃っているのが分かります。もちろん、日本語組版中では、和文の全角の位置が先に指定され適切に配置されたところで、このBASEテーブルの情報を利用して、欧文の位置を和文から相対的に決めることになります(これはレイアウトソフトが行います)。ただし、必ずしもすべての欧文フォントがこのIdeographic EM-boxの情報を持っているわけではありません。また、必ずしもすべてのレイアウトソフトウェアがこの機能を利用して日本語の行中で欧文のグリフを配置しているわけでもありません。

また、BASEテーブルのideoによる位置揃えは、大きさや太さとの視覚的バランスについては何も効果がないので、和文と欧文との最適な組み合わせという意味では、限界があります。ただし、無関係の和文と欧文フォントが接合した時に、ベースラインの関係を最低限調整することができるという効果があり、また、ベースラインの概念をLatin centricな呪縛から解放して、一般化し相対化するというコンセプチュアルな意義はあったと思います。

[cid:image003.png@01DC74EB.80427D90]

以上、コメントまで。



山本太郎

Received on Wednesday, 24 December 2025 06:39:56 UTC