- From: Taro Yamamoto <tyamamot@adobe.com>
- Date: Mon, 29 Jul 2024 00:18:52 +0000
- To: Kobayashi Toshi <binn@k.email.ne.jp>, 木田泰夫 <kida@mac.com>, Nat McCully <nmccully@adobe.com>
- CC: JLReq TF 日本語 <public-i18n-japanese@w3.org>
おはようございます。コメントいたします。 > ところで,ラテン文字の場合,いったいどのような情報がフォントは保持していますか.以下のY軸の位置はフォントとして持っているのですか.あるいは,ない場合は,フォントから計測できるのですか. OpenTypeフォントのOS/2テーブルには、Ascender, Descender, Cap Height, x-heightの情報が収容されています。 > こうした位置はフォントデザイナーが決めることだと思います. > つまり,和文文字の仮想ボディのどこに,上記のラテン文字の位置を合わせるかを指定できます. 実装上は、先にも書きましたが、デザイナーは、欧文フォント・和文フォントを問わず、BASEテーブルに和文の全角位置が、欧文のベースライン位置(y = 0)と相対的にどの位置にあるかの情報を設定することが可能です。Adobe製の欧文フォントには(多くの場合)BASEテーブルに、Cap. heightの中心が和文の全角ボディの中心の高さと一致するように、和文の全角ボディの位置情報が設定されています。 (ただし歴史的な実装について言えば、初期のPostScript処理系のためのフォント形式(Type 1形式に基づく2-byteコードに対応する複合フォント及びそこから発展した、「生の」[SFNTやOpenTypeからは独立した]CIDFontでは、y = -120の位置に、和文の全角ボディの底辺を設定して、その位置の全角ボディを基準にして和文グリフのアウトラインが作られました。そのため、CFF-ベース(CFFはType 1形式に互換変換可能なより圧縮されたグリフ手続きを記述したフォーマット)をアウトライン情報としてもつOpenTypeフォントでは、伝統的にy = -120の位置に和文の全角ボディの底辺の位置が設定されてきました。OS/2テーブルのsTypoAscenderとsTypoAscenderに、和文全角の上辺と底辺の位置のy座標に設定されてきました)。 実装を離れた、和文と欧文との相対的な位置関係の一般的な記述としては「フォントデザイナーが決める」がもっとも正しいと考えます。 山本太郎
Received on Monday, 29 July 2024 00:18:59 UTC