UTR50(Unicode縦書きの文字の向き仕様)で注意を要する文字

これまで何度かUTR50(Unicode縦書きの文字の向き仕様)を話題にしてきましたが、2013年8月31日に正式版が出て、CSS3 Writing Modes仕様(現在最終草案)でも、このUTR50仕様が縦書きの文字の向きのデフォルトになることが確定しました。

今後はEPUBリーダーなどでの縦書きの文字の向きのデフォルトとして、これが標準になっていくものと思われますが、現在はそれぞれ独自であったりドラフト版のUTR50ベースであったりして、実装によって向きがまちまちです(それを解決しようとしたのがUTR50なのですが)。新しい標準に切り替わるまでのあいだ、電子書籍制作側ではいろいろ注意が必要です。

これについて、「電書魂」の次のブログ記事など参考になるかと思います:

また、UTR50とCSS3 Writing Modesが仕様どおりに実装されたとしても、なお注意が必要な文字もあります。以下は、それらについてまとめたメモです。


UTR50の縦書きの向きで注意を要する文字

UTR50 Unicode Vertical Text Layout
http://www.unicode.org/reports/tr50/

これによりEPUB3とCSS3 Writing Modesでの縦書きの文字の向きの仕様が決まりましたが、フォントによって実際に表示される文字の向きが変わり、注意を要する文字があります。

代表的なものは次の2文字です。
‎U+2016 ‖ DOUBLE VERTICAL LINE
‎U+3030 〰 WAVY DASH

U+2016は、VO=U(正立)ですが、多くの日本語フォントに90度回転した縦書き用字形が設定されています。CSS3 Writing Modes仕様では縦書きで正立で表示する文字に縦書き用字形(vert)を適用することになっているため、90度回転した縦書き用字形が表示されます。VO=Uなのに、見た目は横倒しになります。
フォントによらず正立に表示するには縦中横(-epub-text-combine:horizontal)の指定が必要です。
‘upright’の指定では正立で表示させることができず、縦中横の指定が必要な点は、矢印類(VO=R)と同様です。
横倒しに表示するはtext-orientation:sidewaysの指定が必要です(フォントによっては指定しなくても横倒しに表示されてしまうので、間違わないよう)。

U+3030は、VO=Tr(縦書き用字形を適用、なければ90度回転)ですが、多くの日本語フォントにこの文字の縦書き用字形は設定されていなくて、CSS3 Writing Modes実装により90度回転もしないで正立で表示されます。
フォントによらず横倒しに表示するはtext-orientation:sidewaysの指定が必要です。

以下、同様の問題がある文字をリストアップします。
フォントは次のものを調べました:
・MS明朝/MSゴシック
・メイリオ
・ヒラギノ明朝 ProN W3
・小塚明朝 Pr6N R

★VO=Uだが、フォントにより回転した縦書き用(vert)字形があるため、正立させるには縦中横の指定が必要:
‎U+2016 ‖ DOUBLE VERTICAL LINE
‎U+2702 ✂ BLACK SCISSORS
‎U+3013 〓 GETA MARK

※U+2016,2702はMS明朝/MSゴシック以外の日本語フォント(メイリオ、ヒラギノ、小塚など)に回転した縦書き用(vert)字形がある。
※U+3013はMS明朝/MSゴシックに回転した縦書き用(vert)字形がある。

★VO=Trだが、一部のフォントにしか縦書き用(vert)字形がないために、横倒しには’sideways’の指定が必要:
‎U+301A 〚 LEFT WHITE SQUARE BRACKET
‎U+301B 〛 RIGHT WHITE SQUARE BRACKET
‎U+301E 〞 DOUBLE PRIME QUOTATION MARK
‎U+3030 〰 WAVY DASH
‎U+FF1B ; FULLWIDTH SEMICOLON

※U+301A,U+301B,U+301EはMS明朝/MSゴシック/メイリオ以外の日本語フォント(ヒラギノ、小塚など)にグリフが存在しない
※U+301A,U+301Bはメイリオに縦書き用(vert)字形がない
※U+301EはMS明朝/MSゴシックに縦書き用(vert)字形がない
※U+3030はMS明朝/MSゴシック以外の日本語フォント(メイリオ、ヒラギノ、小塚など)に縦書き用(vert)字形がない
※U+FF1Bはどの日本語フォントにも縦書き用(vert)字形がない

★VO=Rだが、フォントにより縦書き用(vert)字形があるため、(横書き用と同じ形で)正立させるには縦中横の指定が必要:
●矢印類 ※以下がフォントにより縦書き用字形がある
‎U+2190 ← LEFTWARDS ARROW
‎U+2191 ↑ UPWARDS ARROW
‎U+2192 → RIGHTWARDS ARROW
‎U+2193 ↓ DOWNWARDS ARROW
‎U+21C4 ⇄ RIGHTWARDS ARROW OVER LEFTWARDS ARROW
‎U+21C5 ⇅ UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
‎U+21C6 ⇆ LEFTWARDS ARROW OVER RIGHTWARDS ARROW
‎U+21E6 ⇦ LEFTWARDS WHITE ARROW
‎U+21E7 ⇧ UPWARDS WHITE ARROW
‎U+21E8 ⇨ RIGHTWARDS WHITE ARROW
‎U+21E9 ⇩ DOWNWARDS WHITE ARROW
‎U+261C ☜ WHITE LEFT POINTING INDEX
‎U+261D ☝ WHITE UP POINTING INDEX
‎U+261E ☞ WHITE RIGHT POINTING INDEX
‎U+261F ☟ WHITE DOWN POINTING INDEX
‎U+27A1 ➡ BLACK RIGHTWARDS ARROW
‎U+2B05 ⬅ LEFTWARDS BLACK ARROW
‎U+2B06 ⬆ UPWARDS BLACK ARROW
‎U+2B07 ⬇ DOWNWARDS BLACK ARROW
●罫線素片 ※U+2500-254Bがフォントにより縦書き用字形がある
●ハイフンやダッシュ類 ※U+002D,U+2010-2015,U+FF0Dがフォントにより縦書き用字形がある
●括弧類 ※括弧素片U+239B-23B1がフォントにより縦書き用字形がある
●引用符類 ※U+2018,U+2019,U+201C,U+201Dがフォントにより縦書き用字形がある
●その他 ※以下がフォントにより縦書き用字形がある
‎U+00B0 ° DEGREE SIGN
‎U+02BB ʻ MODIFIER LETTER TURNED COMMA
‎U+2025 ‥ TWO DOT LEADER
‎U+2026 … HORIZONTAL ELLIPSIS
‎U+2032 ′ PRIME
‎U+2033 ″ DOUBLE PRIME
‎U+2225 ∥ PARALLEL TO
‎U+22EF ⋯ MIDLINE HORIZONTAL ELLIPSIS
‎U+FF1D = FULLWIDTH EQUALS SIGN

以上