月別アーカイブ: 2012年2月

CSSの縦書きとUnicodeの縦書きの文字の向き(UTR#50)の話題

(追記2012-02-04)Twitterでの議論まとめ(随時更新中。ハッシュタグは #UTR50)

「電子書籍、電子出版のCAS-UBブログ」
のほうで、CSSの縦書きとUnicodeの議論 UTR#50: Unicode Properties for Vertical Text Layout (Proposed Draft) がホットです(by小林社長):

私(村上)のほうはというと、ラテンアルファベットと数字を縦にするか、横にするか、というのは、両方ありとして、ラテンアルファベットと数字を横にする場合に、そのほかの文字の向き(とくに和文でも欧文でも使われる記号類など)はどうするかということに関心があります。

以下、UnicodeのフォーラムにUTR#50へのコメントを投稿(英語)したことについて、EPUB仕様についての情報・意見交換のML(←関心のある方はぜひ参加ください)に投稿したものを転載します:

Subject: UTR#50: 正立・横倒し両方ありえる文字の向き
—-

村上です。

Unicodeのフォーラムに今朝次の投稿をしてます:

Default orientation of upright/sideways ambiguous characters
http://unicode.org/forum/viewtopic.php?f=35&t=252

書いたことは、別のところで前から書いてる意見ですが:

レガシーな日本語ワープロでは縦書きで全角文字は正立(または変形)、半角(または幅狭)文字は横倒しということになってました。UTR#50の今のドラフトはその慣例に従っているようで、そこは若干問題あると思っています。

Unicodeに英数字類の全角形のコードポイントが存在するのはレガシーな理由のためであり、これからは、縦書きで英数字を正立させるために全角文字の使用を推奨するべきではなく、通常の英数字類でも正立にすることができる必要があると思います。CSS3 Writing Modes仕様には、そのために ‘text-orientation: upright’ があります。UTR#50でも、この「正立だけモード」(括弧やダッシュ類や罫線など一部の文字を除いては基本的に正立)を定義するべきでしょう。

いまのUTR#50ドラフトは、「正立・横倒し混在モード」(縦書きで通常の英数字類は横倒し)を定義しようとしているのだと私は理解してます。このモードにおいては、正立・横倒し両方ありえる曖昧な文字(Unicode仕様でEast Asian WidthプロパティがAmbiguousとされてるもの、あるいはJLREQ文字クラスでcl-19漢字類とcl-27欧字類の両方に含まれているもの)をどうするかが問題ですが、それらは基本的に横倒しにして英数字類と一致させるべきだろうと思います。(ただし丸囲み数字など和文テキストで全角扱いでよく使われていて欧文ではそれほど使われないような文字なら正立のほうがよさそうではあります。)

たとえば、次の文字は今のUTR#50ドラフトでは正立とされていますが、横倒しとすべきかと思います。

U+00A7 § SECTION SIGN
U+00AE ® REGISTERED SIGN
U+00B0 ° DEGREE SIGN
U+00B1 ± PLUS-MINUS SIGN
U+00B6 ¶ PILCROW SIGN
U+00BC ¼ VULGAR FRACTION ONE QUARTER
U+00BD ½ VULGAR FRACTION ONE HALF
U+00BE ¾ VULGAR FRACTION THREE QUARTERS
U+00D7 × MULTIPLICATION SIGN
U+00F7 ÷ DIVISION SIGN
U+2016 ‖ DOUBLE VERTICAL LINE
U+2020 † DAGGER
U+2021 ‡ DOUBLE DAGGER
U+2022 • BULLET
U+2024 ․ ONE DOT LEADER
U+2030 ‰ PER MILLE SIGN
U+2032 ′ PRIME
U+2033 ″ DOUBLE PRIME
U+2035 ‵ REVERSED PRIME
U+20AC € EURO SIGN
U+2103 ℃ DEGREE CELSIUS
U+2105 ℅ CARE OF
U+2109 ℉ DEGREE FAHRENHEIT

(これらの文字を正立で使いたいというときはだいたい英字や数字も正立にしたいという場合であるので、その場合、正立だけモードを使えばよいということになります)

投稿内容は以上。

「ただし丸囲み数字など…は正立のほうがよさそう」と書いたところは、ちょっと弱いところです。
℃(U+2103)なども、横倒しなら°とCを書けばよいのだから一文字の℃ならいつも正立でよいのかもしれません。
このあたりは今後の議論で決まればよいと思います。私はそれほどこだわりません。
だいたい、今のOpenType和文フォントでvrt2で横倒し字形があるような文字ならみな横倒しがよいだろうと思います。
参考、Twitterから:
monokano:@KAN0U @ogwata 一応念のため ver2 の一覧PDFです http://tama-san.com/test2/vrt2_IwaUDMinPro-Md.pdf (立てたくない文字と縦組用グリフが並んでますね、なるほど〜) [http://twitter.com/monokano/status/164225572325691392]

正立だけモードをデフォルトにすべきという意見もありますが(小林社長 http://blog.cas-ub.com/?p=862 )私は、Unicode仕様でどちらが縦書きの標準と決めなくてもよいと思っています。

正立・横倒し混在モードで、曖昧な文字を正立優先としてしまった場合に問題が大きいのはダブルクオートとシングルクオートであると思います。
縦書きの中で欧文が横倒しなのに “I don’t know.” の “ ’ ” が正立(あるいはフォントによって別の引用符に変換)されて表示されたら、とてもおかしな結果になります。
これについては前にコメント投稿してます:
http://unicode.org/forum/viewtopic.php?p=612#p612