RE: CJKフォントのpalt(詰め組)とkernの関係


> さてこの二つの文はフォントというデータの適合性要件
> を書いているのでしょうか?

私は、それをフォントファイルのフォーマットの仕様として読みます(おそらく、その多くは村田さんの仰る「適合性要件」として解釈できるものでしょう)。ただし、informativeな要素と言えるのかもしれませんが、フォントを使うapplicationの挙動と関連する内容も含まれています。(なお、本題から逸れますが、TrueTypeもCFF2もグリフの形状やヒンティングは特定の命令セットに基づく手続きとして表現されるため、フォントの中にはデータだけでなくプログラムも含まれると考えられます)。

> kernをもつフォントは、paltが必須なのでしょうか?if
> it existsという条件があるところを見ると、どうやらそ
> うではなさそうです。kernを持つがpaltを持たないフォ
> ントは許されているような気がします。

必須ではありません。
これについては、Natが書いている説明がすべてを説明しています。

> activateという語は、rendering and text
> layout/shaping enginesの挙動を意味するので
>しょうか?だとすると、これらの文はフォントの
>適合性要件をまったく規定していないことになります。
“Feature interaction”と書いてあるので、’palt’とその他のフィーチャーとの相互作用を記述していると理解します。
そのことが、rendering and text layout/shaping engineの挙動についの事柄に及んでいることから、それがフォントの適合性の要件でないとしても(つまりあくまでinformativeな情報であるとしても)、フォントの記述として問題はなく、また現在そのように書かれていることによって、Natが述べた、欧文フォントと多種類のスクリプトを含む日本語フォントの両方の必要を満たしているのだと思います。

> 以下の四つの文のどれが山本さんの意図と合っていますか?

これもNatの説明を読んでください。あちらが完全な説明になっています。
私自身の考えは、

2) kernを持つフォントは、paltを持ってもよいが、持た
   なくてもよい。

が正しいと思います。
engineが日本語フォントを使って日本語を組む場合には、paltがそのフォントにあれば、

3) フォントのkernを考慮してglyphの位置決めを行う
    engineは、paltも考慮しなければならない。

が、engineに期待される動作です。これは、大部分の既存の’palt’をもつ日本語OpenTypeフォントの実装が期待することであり、その期待は、仕様中の上記Feature interactionを根拠としています。その背景はNatが説明したとおりです。

山本

Received on Monday, 19 December 2022 00:49:00 UTC