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

こんにちは。


  *   # 一応、太郎さんを別に入れておきます

と書かれていますので、若干以下にコメントいたしますが、私は純粋にタイポグラフィックな観点から説明いたします。よりエンジニアリング的な詳細については、Nat McCullyの方が詳しいと思いますが、ここでは私が説明できる範囲でコメントいたします。


  *   If 'kern' is activated, 'palt' must also be activated if it exists.
"kern" がオンなら "palt" もオンにしなければならない

これは、原理的に’palt’がオンにされているグリフと隣接するもう一つ別の’palt’がオンにされているグリフとの2つのグリフの間に対してだけ、’kern’によるスペーシングは適用可能である。ということに由来しています。

では「’palt’がオンにされている」ことの意味は何か、というと、これは、’palt’の情報を用いて、デフォルトでは等幅全角のグリフを、疑似的にあたかもproportionalの、つまり、それぞれのグリフごとに固有の字幅(及び固有のサイドベアリング)をもつグリフとして、配列することを可能にする。ということを意味しています。また、’palt’が”alternate”とされていることから、その適用は、デフォルトではなされず、デフォルトとは別に明示的に指定された場合に適用されることを意味しています。このことから、等幅全角のグリフは、デフォルトにおいては、‘palt’は適用されない状態でなければならないが、可能な別の(alternate)なオプションとして’palt’を明示的に適用可能であることが示されています。

つまり、’kern’は、初めからデフォルトがproportionalであるグリフか、または、デフォルトでは等幅全角のグリフであるが明示的に’palt’が適用された結果、疑似的にproportionalなグリフとして配列可能となったグリフ、に対して適用される必要がある、ということになります。では、このことが原理的に何を意味しているのか、というと、まず第一段階として、それは、等幅全角であるグリフに対して’palt’が適用されると、そのグリフ固有の字幅とサイドベアリングが設定され、そのボディはもはや全角正方形ではなくなり、その結果として、等幅全角の場合には獲得できなかった、そのグリフを前後のグリフとの関係で視覚的に均等に組むということを(必ずしも完全ではないが)達成することができるようになる、ということです。つまり、等幅全角であることの特性(利点も含め)を放棄する代償として、視覚的なスペーシングがより良好になるというproportionalグリフの特性を獲得することができる、ことを意味しています。しかし、’palt’の適用がデフォルトでなされない理由は、それによって「等幅全角であることの特性(利点も含め)を放棄」しなければならなくなるからであり、そのことは、全角ボディを基本とする日本語のタイポグラフィの原則から、乖離する結果を将来せざるをえないからです。このことが、ベタ組ではない、ツメ組のモードへ移行するということなのです。

では、なぜ’kern’はproportionalのグリフあるいは’palt’を適用することで疑似的にproportionalとなったグリフに対してだけ適用されるべきなのか。それは、上に述べたように、グリフのボディがproportionalであることの意味が、その個別グリフの形状に視覚的なスペーシングにおいて最適な字幅とサイドベアリングが得られることにあり、proportionalとしてグリフをデザインする、あるいは’palt’によって既存の等幅全角グリフに対して疑似的あるいはオプショナルな別の(alternate)proportionalな字幅を与えることで、一定のスペーシング上の効果を得つつも、それでもなお最適化できない、隣接する2つの個別のグリフ間のスペーシングを微調整する目的においてのみ、第ニ段階として、’kern’を用いることが有効だからです。つまり、’kern’を、プロポーショナルな字幅を持たず、まだスペーシングの最適化が何らなされていない2つのグリフに対して適用することは、無意味であるだけでなく、その場合に容易に予見されることですが、膨大な2グリフの組み合わせの数のスペーシング調整量を設定する必要が生じることからも非効率だからです。

グリフ固有の字幅を持つことでグリフ間のスペーシングを最適化し、それでもなお最適化が困難なグリフの個別の組み合わせに対してだけ、詰めたり空けたりというカーニングを行うという、西洋のタイポグラフィにおいて歴史的に行われてきた慣習と、上に述べたことは完全に対応しています。されに、本来等幅全角である日本語のグリフを、視覚的なスペーシングの均質化を目的として、疑似的にproportionalなグリフとして取り扱う、という「ツメ組み」あるいは、主に仮名の個別グリフ間のスペーシングを調整する「仮名ツメ」(かつては写植機上または版下上で印画紙の切り貼りで行った)の手法にも対応するものになっています。

以上、この件についてコメントしました。

山本太郎
アドビ
P. S. Nat, if there’s anything incorrect in my description above, please correct it. Also, I did not answer some of Ishii-san’s questions that were purely related to code-handling and other engineering elements. So, you may want to make some more comment. – Taro

Received on Thursday, 17 November 2022 13:12:16 UTC