Re: Tr の解釈

石井さん、

ありがとうございます。確かに私の思い込みがあるようです。私の解釈を説明しますね。

とはいえ、私と石井さんがこんな会話をしている段階で、解釈が難しい、と言ってもお叱りを受けないかと思います。 :)


> 2021/08/23 17:21、Koji Ishii <kojii@chromium.org>のメール:
> 
>> 「as a fallback」の解釈が難しいでしょうか? 
> 
> うーむ。はい、私にはちょっと難しすぎるようです。
> 
> 思い込みは難しいですね、私は私の思い込みで読んでいると思うので、木田さんの解釈のされ方をまだよく理解できていなくて...すみません。
> 
>> Same as Tu except that, as a fallback, the character can be displayed with the code chart glyph rotated 90 degrees clockwise.
> 
> 
> つまり、この説明が、「as a fallback, 正立のグリフを(回転せず)表示しても良い」と読める、ということですか?
> 
> "the character can be displayed with the code chart glyph rotated 90 degrees clockwise" は「回転させる」と書いていますね。ただし、この節が「as a fallback」の条件下でのみ有効となっていると読めます。そう読めませんか?

そう読めます。なので、回転させる、との表現と、全角コロンやセミコロンが回転しなくても良いという結果との整合性がどこで取れるのか、を理解しようと苦労しています。


>  そう読めないとなると、この文章を改善した方がよさそうですね。そう読める場合、この「as a fallback」がいつ起動されるのか、というのが焦点になりそうです。
> 
> フォント製作者側から見た考え方としては
> 例示図形 <http://unicode.org/reports/tr50/#table_2>("representative glyphs" ですから「例示」とは少しニュアンスが違いますが)から、言語コンベンションに則った適切な字形を選択する。
> UAX#50の定義からは、「Tr」なので、その字形が「アプリケーションが回転して表示した字形」と同様であれば、縦書き字形を省略してもよいと解釈できる。
as a fallback が、何が存在しない、もしくは可能でない、場合に対するフォールバックなのかが明確に書いてありません。

しかしその直前に、「縦書きにおいて、正立でも横転でもない、一般的にコードチャートとは異なる字形が必要な文字である」と書いてありますので、as a fallback は、その必要な字形が用意されていない場合、と私は想像しました。つまり一般的な実装で言うとフォントに vert がない場合です。

どのような場合に、そのようなグリフを用意しなくても良いかについて書いてありませんが、fallback 動作から逆に想像して、石井さんの言われるように、Tr の場合、求められる字形が「アプリケーションが回転して表示した字形」と同様であれば、縦書き字形を省略してもよいし、逆にそれと異なる場合は用意する、と想像できます。

「アプリケーションが回転して表示した字形」と同様であることは、「単に正立でも横転でもない文字である」と宣言してあることと両立しませんが、generally は遡ってこの部分にもかかる、と解釈します。つまり、Tu / Tr であっても、単に正立や横転の場合がある。fallback 動作は、仕方がないからそうなってしまう、のではなく、積極的に利用できるステップである、と解釈することにします。


もしくは fallback は万が一の場合に使うのであって、Tr / Tu は全ての場合にグリフを用意すべき、と解釈すべきなのかもしれません。

もしくは、特別なグリフを拾って表示することが可能でない場合、というアプリケーションの能力を表しているのかもしれません。

fallback がどのようなケースに対する fallback なのか書いてありませんので、ここはさまざまな解釈が可能かと思います。

> 省略した場合、仕様に沿えば、定義の「as a fallback」が起動されるはず。つまり、正立字形を期待する言語のフォントは正立の縦書き字形を持たなければいけないが、回転字形を期待する言語のフォントは縦書き字形を持っていなくてもよい。
> もしこれが「Tu」であれば逆で、正立字形を期待する言語のフォントは縦書き字形を省略してもよいが、回転字形を期待する言語のフォントは縦書き字形を持たなければいけない、となる。
as a fallback = グリフが省略された場合と解釈する場合、Tu ならコードチャートの字形そのまま、Tr ならそれを時計回りに90度回転させた文字を表示しても良いと、そのように読みました。

––––––––––––
解釈はここまで。
––––––––––––

さて、全角セミコロンの正立ですが、この文字は Tr であるが、generally という単語によって「単に正立」でも構わない、と解釈すれば良いのでしょうか?


これは別の問題ですが、現実の実装は上の解釈とは異なるようです。「単なる回転」でよい Tr の文字に対して、「アプリケーションが回転して表示した字形」と同様であるからと判断して縦書き字形を省略すると、解釈から来る期待とは逆で、正立して現れてしまうというのが私の理解です。正しいですか?

実際、源ノ角は vert を用意しないことで、全角セミコロンを正立させているように見えます。

> CSSは「as a fallback」を原則実装しないので、フォント製作者が選択した字形を縦書き字形として入れることを推奨している。
その前の段階が難しくて、css までたどり着いていません…


> という解釈ですが、どの辺が違いましたか?

こんな感じです…

木田

Received on Monday, 23 August 2021 11:17:39 UTC