[L2/12-102] Updated Proposal to Revise UTR #50 Unicode Properties for Vertical Text Layout
http://www.unicode.org/~iancu/12102-update-utr50.pdf
このPDFのTable 3: Orientation_Class property values を扱いやすいようテキストにしてみました:
http://nadita.com/murakami/utr50-ms-table.txt
oc欄の見方:S=常に正立、RS=回転と正立、R=回転、TS=変形正立、TR=変形回転、A=矢印(高位プロトコルで決める)、詳しくはPDFを参照。
このMS案のデータで気になった点をいくつか:
■‘°’ DEGREE SIGN が常に正立(oc=S)
00B0 So S U U ‘°’
※360°の360が回転して°が正立というのは変なのでoc=RS(回転と正立)のほうが適切ではないか。'°' とともに使われるPrime記号(2032..2037)はoc=RSである。
■‘±’ PLUS-MINUS SIGN が常に正立(oc=S)
00B1 Sm S U U ‘±’
oc=S(常に正立)。ほとんどの数学記号がoc=RSであり、'+' PLUS SIGN (002B)、'−' MINUS SIGN (2212)、'∓' MINUS-OR-PLUS SIGN (2213)がoc=RSであるのに '±' ばかりがoc=Sというのはなぜだろう。
■Box Drawingが常に正立(oc=S)
2500..257F So S S U/S Box Dra
2580..259F So S S U/S Blocks
■分数が常に正立(oc=S)
2044 Sm S S U/S Fract. ‘/’
2150..215F No S U U Fractions
■ローマ数字は回転と正立(oc=RS)
2160..2182 Nl RS U U № Form
英数字を回転するときはローマ数字も回転。
--
村上 真雄 (MURAKAMI Shinyu)
Twitter: http://twitter.com/MurakamiShinyu
Blog: http://blog.antenna.co.jp/CSSPage/
Antenna House Formatter:
http://www.antenna.co.jp/AHF/
> このPDFのTable 3: Orientation_Class property values を扱いやすいようテキストにしてみました:
> http://nadita.com/murakami/utr50-ms-table.txt
各方向クラスにどの文字が含まれるかが分かりやすいように、方向クラス別に分けたファイルも次のところに置きました:
http://nadita.com/murakami/utr50/
このMS提案の方向クラスで、いちばん議論になりそうなのは、方向クラスR(回転のみ)に含まれる文字についてです。これらの文字は、正立モード(text-orientation:upright)であっても回転することになります。
括弧類やダッシュ類がこれに含まれるのは自然だと思います。
アラビア文字など続けて書く文字もこれに含まれています(独立字形を1文字ずつ正立させるべきという意見と対立しているし、BIDIの扱いも問題)。
私がとくに興味深いと思うのは、数学記号のうち、等号・不等号など(<=>≒≦≧など)がこのR(回転のみ)に含まれることです。詳しくはそのデータ
http://nadita.com/murakami/utr50/utr50-ms-table-R.txt
全角文字の<=>は、方向クラスTR(縦書き字形があればそれを使って回転)ということで、やはり正立モードでも回転するということになります。
http://nadita.com/murakami/utr50/utr50-ms-table-TR.txt
等号・不等号などは両側の関係を表すので a≦b が縦書きでaとbが正立でも≦は回転というのは論理的です。また、<>は括弧のように使われることがあるし、=はダッシュのように使われることがあるので、括弧やダッシュ類と同じく常に回転というのは便利であるようにも思います。
しかし、正立モード(text-orientation:upright)を指定しても正立にならないのはおかしいと、反対がありそうです。正立にならない文字を正立にするには縦中横(text-combine-horizontal)を使うしかないということになります。
私は、正立モードを定義するのに、今のCSS3 Writing ModesのEditor's DraftのAppendix C
http://dev.w3.org/csswg/css3-writing-modes/#vertical-typesetting-details
にあるsideways(Sv)カテゴリ(常に回転、MS提案の方向クラスR相当)の定義(含まれる文字はモンゴル文字、スペース類、接続記号類、ダッシュ類(ハイフンも含む)、罫線素片など)が妥当なところでないかと思ってたのですが、まだまだ議論が必要なようです。
--
村上 真雄 (MURAKAMI Shinyu)
Twitter: http://twitter.com/MurakamiShinyu
Blog: http://blog.antenna.co.jp/CSSPage/
Antenna House Formatter:
http://www.antenna.co.jp/AHF/
MURAKAMI Shinyu <mura...@antenna.co.jp> wrote on 2012/03/10 1:59:19
このMS提案の方向クラスで、いちばん議論になりそうなのは、方向クラスR(回転のみ)に含まれる文字についてです。これらの文字は、正立モード(text-orientation:upright)であっても回転することになります。
括弧類やダッシュ類がこれに含まれるのは自然だと思います。
このため、現在のCSS WGの方針としては、U/T/Tu/Trはすべてvertをオンにして正立描画、Rのみ回転描画、vrt2は使わない、と定める予定になっています。詳細省いていますが、一部例外がありまして、間違った実装を防ぐため、CSS WGでこの計算をしたテーブルを提供する方向で検討中で、その最新版は現在こちらにあります。
https://bitbucket.org/kojiishi/ucd/raw/tip/vosimple.csv
switch (trcode) {
case tr50T: case tr50Tr: case tr50Tu:
{
BRFT_GlyphID vglyph = BRFT_GSUB_SubsisutateSingle(cjkFont->vert, glyph);
if ((trcode == tr50Tr) && (vglyph == glyph)) {
flags = gsRotate;
}
glyph = vglyph;
break;
}
EPUBについては、「参照先の仕様が変わった場合自動追随するが、その変更が後方互換性を壊す場合にはマイクロバージョンを上げる」という規定がありますので、これを利用することを考えています。とはいえ、各社さん、自社のリリース予定や、どのドラフトを採用するかなどについてはお話しいただけませんので、これも各社さんの動きを見ながら、後追い、ということになりそうです。
Writing-Modes Level 3のEDを先ほど更新しました。該当箇所はこちらです。
http://dev.w3.org/csswg/css3-writing-modes/#vertical-orientations
ちょっと他の部分との整合性等などはまだできていませんが、とりあえずこの節だけを見ていただければ、今までよりはわかりやすいかと思います。
ただここには書いておりませんが、個人的にはSVOの安定性は非常に悪いと思っていますので、あまり実装をお勧めできません。現段階では、upright時にはすべて(SVO=Rも含めて)正立、が、もっとも互換性の高い実装になると想定していますし、制作側の想定もそれに近いと理解しています。これは個人的な想定なので、何も保障にはなりませんが。
おっしゃられている問題はCSSでも何度か議論されていますが、よい解決策がありません。一時はCSSでもUにはvertを適用しない、という案もありましたが、それではやはり互換性の確保が難しいと思いますので、CSS同様にUにもvertを適用されたほうがよいかと思います。
ただ、じゃぁ、回転字形が入っているコードポイントはどうやっても正立にできなくなる、というのは避けようがなくなります。CSSは中長期で考えなければいけないので、この問題はそれほど起こらないという想定の元、時間が解決するのを待つことにしました。
もし私がCSSでない国内専用の実装を作るのでしたら、おそらくtext-orientationに独自の値を追加すると思います。デフォルトではvert適用、ただし(例えば)text-orientation:force-uprightの指定があればvert非適用、などです。判断しづらいところで個人的な直観になりますが、vertを適用するために起きる弊害は、適用しない弊害より低いと思われること、Wordなどの既存ソフトやCSSからの変換時の互換性はあった方がないよりは良いことなどから、製作者に万が一の場合の逃げ道として提供しておく、というオプションです。
長期的に見ても、例えばこれで一年経ってみて、作られたファイルを分析してみたら三万冊のうち1%の文書でこの指定がされていた、となれば、CSSに追加する提案も十分可能になりますので、互換性上も望ましいし、W3Cへのご貢献という意味でもぜひご検討お願いしたいと思います。