RE: 縦書きにおける文字の向き

ご意見ありがとうございます。三点リーダーはほんとに鬼門です。少し長期(数年単位?)になりますが、Unicode側できちんとした解決ができないか、という議論も少ししてみましたが、みんな目の前の仕事が忙しく、あまり話を発展させられずにいます。

http://dev.w3.org/csswg/css3-ui/#text-overflow
については、どのフォントを使うのか、という議論が少し前にあり、
> The ellipsis is styled according to the element with text-overflow ellipsis
という記述に落ち着きましたので、elementに対して和文フォントを先頭に指定していれば、正しく和文の三点リーダーが表示されるはずです。

本題に戻りますが、その後調査と議論を続け、とりあえずの結論を出しました。英語ですが、以下のロジックで大方のケースをカバーできるのではないかと思っています。

http://lists.w3.org/Archives/Public/www-style/2011Mar/0489.html

ただ、外字については、「外字である」というだけでは、日本以外でもそのコードポイントを使っているため、解決できません。IVSやCSS3 Fontsなどを使って元となる文字のコードポイントを使用するようにするか、あるいは外字フォントにそれが日本語を含んでいて、縦書時には正立して表示してほしい、という情報を埋め込む必要があります。

TrueType/OpenTypeなどでは上記情報が明確には定義されていないため、UAは、おそらく縦書きメトリックがあれば、などの少しヒューリスティックなルールを実装することになると思います。仕様ではヒューリスティックなルールを定義できないので、例示だけに留めますが、その例示についてAdobeさんなどからこれからアドバイスを受けるつもりです。

少し前に、今のWebKitでFontForgeを使った外字が正しく表示されない、というお問い合わせを個別にいただきましたが、これはこの問題に起因していると思っています。FontForgeを使ったことはありませんが、マニュアルを見る限り「縦書きメトリック」に対応している[1]ようですので、これをオンにすれば大丈夫ではないかと思っています。

縦書文書用の外字フォントをご自身で作られている方は、仕様が固まって、実装ができてからでも構いませんが、一度お使いのフォントやフォントツールをご確認いただければと思います。

[1] http://fontforge.sourceforge.net/ja/fontview.html#Vertical-Metrics

よろしくお願いいたします。

-----Original Message-----
From: public-html-ig-jp-request@w3.org [mailto:public-html-ig-jp-request@w3.org] On Behalf Of Miwako Ichijo
Sent: Tuesday, March 22, 2011 12:28 PM
To: public-html-ig-jp@w3.org
Subject: Re: 縦書きにおける文字の向き

こんにちは、一條です。

> 石井さん

お疲れ様です。フォント関係の知識がないので、意見を出す力なく、ご報告内容を読んでいるだけになっております。
全体的に気になることなのですが、直近の記載でさらに気になることがありました。
感想程度ですが、お送りしておきます。


>> またEAW=Aのものは、各言語で異なるように使われてきたがUnicodeで統合された記号類なので、きちんと判定してあげないと、三点リーダー(…)や外字が全滅しますが、

の「三点リーダー(…)が全滅」の指摘の部分で、text-overflow(http://dev.w3.org/csswg/css3-ui/#text-overflow)を思い出しました。
もちろん、こちらの表示も影響を受ける話ですよね。
外字も気になるのですが、このtext-overflowは

・ 枠内にテキストを収める
・ 収まらない場合は三点リーダー等を後につけて、急にテキストが切れるように見せない
・ ソース上はすべてのテキストを入れておきたい(正しく情報を伝えるために)

の3点をクリアすることができるので、使うケースが(横書き・縦書きに関係なく)多くなると個人的に考えていました。
※使えない場合=現状は、上記のうち、2点をクリアするために出力時に指定文字数までしかテキストを出力しないようにしています。表示結果を重視したため。


引き続きのご報告をお待ちしております。



2011年3月16日9:46 Koji Ishii <kojiishi@gluesoft.co.jp>:
> 大変なご時世ではありますが、まずは自分にできることを、ということでこの調査を続けています。が、引き続き長引いています。
>
> まず縦書きにおいてどの文字を正立とし、どの文字を90度回転するか、ということに関して、AdobeとAppleはフォントの中に情報を持つべき、
> MSはフォントの中は必要最低限としてアプリケーションが判断すべき、としています。どちらが正しいかは別として、現在二種類あること、そして過去の
> フォントも考慮に入れれば
> ●フォントの中の情報を使う
> ●ブラウザーが判断する
> ●上記二つが競合した時の規定
> をそれぞれ定めないといけない模様で、これに加えてCSSではtext-orientation[1]で製作者が制御できるようにしようとしているので、問題が複雑になっています。
>
> ブラウザー側の判断としては
>        縦書で正立: EAW (Unicode East Asian Width[2])=F|W
> で漢字やひらがななどのほぼ明確なCJK文字は救えるのですが、BopomofoとHangulに151文字救えない文字があることが判明しました。UnicodeとW3Cの両方で活動しているAsmusがこれについての調査とUnicodeへの問題提起をしてくれることになりました[3]が、当面は
>        縦書で正立: EAW=F|W or Script=Bopomofo|Hangul
> と逃げるしかなさそうです。
>
> またEAW=Aのものは、各言語で異なるように使われてきたがUnicodeで統合された記号類なので、きちんと判定してあげないと、三点リーダー(…)や外字が全滅しますが、これについてはフォントにもUnicodeにも明確な判断基準がなく、経験的にこういう判断をしたら大体の場合うまく行った、ということを過去にやってきているので、標準化しきれない。でも標準化しきれないと、ブラウザーが実装するのが困難になる、あるいはブラウザーによって挙動が違うことになる、という狭間で検討を続けています。
>
> 引き続き調査とWG側との調整を続けます。
>
> とりあえずご報告まで。
>
> [1] http://dev.w3.org/csswg/css3-writing-modes/#text-orientation
> [2] http://unicode.org/reports/tr11/
> [3] 
> http://lists.w3.org/Archives/Public/public-i18n-cjk/2011JanMar/0065.ht
> ml
>
> -----Original Message-----
> From: public-html-ig-jp-request@w3.org 
> [mailto:public-html-ig-jp-request@w3.org] On Behalf Of Koji Ishii
> Sent: Thursday, March 10, 2011 4:45 AM
> To: public-html-ig-jp@w3.org
> Subject: RE: 縦書きにおける文字の向き
>
> 昨夜Editor's Draft[1]を少し書き換えてチェックインしました。が、この問題は思っていたよりも根が深く、なかなかまだよい結論に至れていません。
>
> 現在のほとんどの実装において、縦書きにおける文字の向きは、フォントの中にある情報と、OSやアプリの中のロジックの連携として決定されてきました。
>
> CSSにおいてはfont fallbackがあるので、fontがfallbackして別のフォントの中の情報を使ったら、文字の向きが変わってしまった、というのはいいんだろうか、という疑問がまず投げられています。フォントデザイナーの方々はそれぞれの考えにおいて情報を入れているでしょうから、それを尊重してほしいと思っているでしょうし、でも見る環境によってfont fallbackが発生して、特定の文字の向きが変わってしまう、というのはブラウザーの互換性を担保するW3Cとして正しい仕様なんだろうか、という疑問との間で、どちらも納得できる案を模索しないといけません。
>
> フォントの中の情報を尊重するとしても、フォントの中に十分な情報がない場合が多く、既存の製品はかなりヒューリスティックなロジックを入れている場合が多いと思いますが、W3C標準としてヒューリスティックなロジックを標準化するわけにもいかないので、適切に作られなかったフォントは救えないかもしれません。大手の最近のフォントは大丈夫でしょうが、手持ちのツールで作った外字フォントなどは危ない可能性があります。それをどうやって、どの程度までは救うか、というのも議論の俎上に上っています。
>
> http://partners.adobe.com/public/developer/opentype/index_recs.html#cj
> k http://www.microsoft.com/typography/otspec/recom.htm#cjk
> あたりにCJKガイドラインとして縦書きに使えるフォントに対する作り方が書いてありますが、外字フォントなどではこれに従っていないものもあるようです。
>
> また、フォントにない情報をOS/アプリ側として補完しなければいけませんが、これも時代によって正解が変わってきているので、落としどころを議論中です。今の候補はUnicode Script Property[2]とUnicode East Asian Width[3]のいずれか、あるいはその組み合わせで、レアケースをあきらめてシンプルなルールを作れないかと考えていますが、細かい問題を解決しきれていません。
>
> 正解のない問題なので、もうしばらく議論が続きそうですが、ご意見、ご見識がありましたら、ぜひお知らせください。
>
> [1] http://dev.w3.org/csswg/css3-writing-modes/#text-orientation
> [2] http://unicode.org/reports/tr24/
> [3] http://www.unicode.org/reports/tr11/
>
> -----Original Message-----
> From: Koji Ishii
> Sent: Tuesday, March 08, 2011 2:54 PM
> To: public-html-ig-jp@w3.org
> Subject: 縦書きにおける文字の向き
>
> 縦書きにおける文字の向きについてのセクションをtext-orientationプロパティ[1]の最後に追加しました。
>
> まだいろいろな人からヒアリングも続けており、first draftに近い文章ですが、ご意見いただけましたら幸いです。
>
> 今の文章は、UnicodeのScriptプロパティをまず使い、その次にEast Asian Widthを使っていますが、Scriptプロパティの仕様についてはまだ議論が続いています。
>
> よろしくお願いいたします。
>
>
> [1] http://dev.w3.org/csswg/css3-writing-modes/#text-orientation
>
>
>



--
--------------------------------------------------------
Miwako Ichijo @ sankei-digital
(usa132006@gmail.com)
email:ichijo.miwako@sankei.co.jp

Received on Tuesday, 22 March 2011 12:47:07 UTC