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

石井さん

>> その特殊なフォントを見てみましたが、このフォントに `palt` は存在しません。
> 
> 確認ありがとうございます。すみません、私の意図が不明確でしたね、この特定フォントについて話したいわけではなかったんです。存在しない証明ができないので、「互換性を破棄する」ことを主張されている村上さん、太郎さんは、その正当性をどのように主張されるのですか? というのが聞きたいことです。例を出すとわかりやすいかと思ったのですが、かえってじゃまになりました、すみません。


互換性を破棄することになると例に出されたフォントは、実際は該当しないものでした(paltがそのフォントには存在しないため)。
「F2. 全角・非全角ともに、`kern` が、`palt` をかけない時にかける前提で設計されている日本語フォントがある。」
が本当であると主張されるのであれば、ひとつでもそのような例を出してもらえないと主張がわかりにくいです。

`palt` が存在する意味は、基本は全角幅のCJK文字を持つフォントで詰め組(プロポーショナル・スペーシング)も可能にするため。`palt` をかけない場合のCJK文字は全角幅であり、その全角幅のまま利用するのが日本語組版や中国語組版で標準的なベタ組である。`kern` は詰め組の文字間を調整するものであってベタ組の文字間を調整するものではない。以上のことから、`palt` が存在するフォントでは「F1. 全角文字に対しての `kern` が、`palt` をかけた後にかける前提で設計されている」というのが当然のことであり、そうでないもの(F2)はありえないのではないか、と私は考えるのですがどこか間違ってるでしょうか?

F2が存在しないのであれば、だいぶ問題はシンプルになるかと思います。

> 少し前のリプライに書きましたが、「ないでしょうか」という推測では、合意することはこんなんですし、「限られている」がもし万が一事実だとしても、「限られているフォントなら無視して良い」という論理では、Chromeもそうですが、マイクロソフトやアップルをその論理で説得するのは難しいかと思います。



私は「限られているフォントなら無視して良い」などと主張してません。
`font-kerning: normal` の仕様が修正されることで影響のあるフォント(paltとkernの両方をもっているフォント)は限られているうえに、その該当するフォントについては、フォントの設計の意図通りの結果になるように改善がされるということです。

その改善によって、これまでと結果が変わってしまうのは「互換性を破棄することになる」と心配されるのかもしれませんが、`palt` をかけない時にCJK全角文字に `kern` をかけるかどうかで起きる違いはとても目立たないものです。いまのChromeやSafariで、`palt` をかけないときにCJK全角文字にデフォルトで `kern` がかかっていて、全角幅の仮名文字などが微妙に文字間が詰まったりしているのですが、ほとんどのユーザーはそのことに気づいていません。私は一般のユーザーよりは組版に敏感なユーザーだと思いますが、それでもなかなか気がつくのに時間がかかりました。

`font-kerning: normal` の仕様修正による文字スペーシングの変化の影響は、同じく文字スペーシングに関するCSSプロパティ text-spacing で約物詰めや和欧文間スペースがデフォルトで有効になることの影響に比べると、とても軽微なものになります。https://github.com/w3c/csswg-drafts/issues/6723 での fantasaiと私の提案は、互換性も十分配慮したものになってると思います。それに対して、この提案の前に https://github.com/w3c/csswg-drafts/issues/7958 の不十分な議論のまま Firefox に実装された変更では `font-kerning: normal` で `palt` が有効になってそれまでベタ組だったものが詰め組みに変わってしまうなど互換性の問題が起きています。この混乱を収めるためにも`font-kerning` 仕様の修正は必要です。


----
村上 真雄 (MURAKAMI Shinyu)
Vivliostyle Foundation


> On Apr 14, 2023, at 14:14, Koji Ishii <kojii@chromium.org> wrote:
> 
> 村上さん、すみません、入れ違ってしまいましたね。
> 
>>> 検索したら出てくるかな、と思ってやってみたら、サンプルが一つ <https://note.com/necktie/n/nf7234f65d7d0>見つかりました。これはかなり特殊なフォントですが。
>> 
>> 
>> その特殊なフォントを見てみましたが、このフォントに `palt` は存在しません。
> 
> 確認ありがとうございます。すみません、私の意図が不明確でしたね、この特定フォントについて話したいわけではなかったんです。存在しない証明ができないので、「互換性を破棄する」ことを主張されている村上さん、太郎さんは、その正当性をどのように主張されるのですか? というのが聞きたいことです。例を出すとわかりやすいかと思ったのですが、かえってじゃまになりました、すみません。
>  
>> 流通しているCJKフォントで、`palt` が存在するものというのは限られているのでないでしょうか。
> 
> 少し前のリプライに書きましたが、「ないでしょうか」という推測では、合意することはこんなんですし、「限られている」がもし万が一事実だとしても、「限られているフォントなら無視して良い」という論理では、Chromeもそうですが、マイクロソフトやアップルをその論理で説得するのは難しいかと思います。
>  
>> そのためにOpenType仕様の明確化(paltが存在するフォントでpaltがオフの場合はCJK全角文字〔要定義〕にkernを適用しないこと)が必要というのであるならばぜひそれを進めてほしいです。
> 
> 私は、議論を見ていて、進めるためのサポートと、時折私の意見を入れているだけで、誰が推進するのかは決まっていないです。方向性が決まったら、ボランティアを募るのではないでしょうか?
> 
>>> おっしゃるとおりだと思いますが、これも互換性の話ですので、Safariチームに確認することも含めて、検討対象という趣旨です。Safariチーム、あるいは他のケースも含め、製品に責任を持つチームが、この製品の互換性は気にしない、と言ってくれれば削れますね。
>> 
>> 
>> はい、まずCSS WGでCSSのfont-kerningの仕様の修正について合意ができて、すべてのブラウザの実装がそれに従うようになればよいと期待してます。
> 
> CSS WGで現在出ている提案に対しては、私は反対の立場です。あの議論を収束させるためには、この議論の合意が必要だと思っています。

Received on Friday, 14 April 2023 09:17:41 UTC