CSS3で縦書きスタイルを、電子出版の未来のために。日本発で提案中
日本語には縦書き表記が存在しますが、HTMLやCSSなどのWeb標準には縦書きのためののプロパティや機能はまだ十分ではありません。これまではHTMLやCSSの用途が、Webブラウザで参照するWebサイトを記述する用途にほぼ絞られていたため、このことはほとんど問題になりませんでした。
しかし今後HTMLとCSSは、電子書籍のフォーマットとしても使われることになりそうです。オープンな電子書籍ファイルフォーマット規格として普及が始まっている「EPUB」は、HTMLとCSS(それに画像ファイルなど関連ファイル)で記述されます。これにより当然ながら、EPUBによる電子書籍で日本語の縦書きのニーズが高まることが考えられるため、CSSなどによる充実した縦書きのサポートは欠かせないものとなります。
EPUBでの充実した縦書きレイアウトを実現すべく、かつてW3CでXML1.0の仕様策定に関わったマークアップ言語の第一人者である国際大学 村田真氏と、スタイルシートなど電子組版のソフトウェア実装では世界でもトップクラスのアンテナハウス 村上真雄氏が「EPUB仕様の日本語組版拡張を目指して(Version 0.8)」という文書を6月1日付けで公開し、活動されています。
CSS3で「論理プロパティ」を
EPUBでの縦書きサポートとは実質的に、現在策定中のCSS3で縦書きに関するプロパティを充実させることを意味しています。
CSSでの縦書きには、文字組の方向を示す「writing-modeプロパティ」などがすでに議論されており、一部のブラウザなどで(実験的に)実装されています。
「writing-modeプロパティ」には「lr-tb」(左から右へ横組み、上から下へ読む)や、「tb-rl」(上から下へ縦組み、右から左へ読む)などの値がセット可能です。
しかし、例えば縦書きを想定したレイアウトで「margin-top」プロパティを使い上方向に設定したマージンは、縦書きに対応していないブラウザで表示させて横書きになったレイアウトに対しても上方向に設定されます。このとき、左方向のマージンは詰まってしまってレイアウトが崩れる、といった指摘が村上氏から行われています。
縦書きを想定してCSSでレイアウトをした文書を、縦書きをサポートしていない電子書籍リーダーなどで表示させた場合、レイアウトが崩れてしまうのです。これでは安心して縦書きレイアウトを採用できません。
そのために提案されているのが「論理プロパティ」です。
論理プロパティには例えば「margin-start」や「padding-after」などがあり、横組みの場合には「margin-start」は自動的に「margin-left」の別名となり、縦組みの時には「margin-top」の別名となる、といったもの。
(補足6/3:論理プロパティは村上氏が最初に提案したわけではなく、以前から議論されていたものでした。標準にするために村上氏らが働きかけている、ということでした)
CSS3での縦書き仕様についてのこうした議論はこのほかルビについてなども提案されていて、現在W3Cで議論されています。また、村上氏はCSS3 Text Layoutのエディタとして議論に加わっており、論理的プロパティがeditor's draftに含まれたことが報告されています。
日本語でHTML5と関連仕様を議論するHTML5 Japanese Interest Groupでも、縦書きについての議論が村上氏を含めて行われていますので、興味がある方は参加をお勧めします。
IDPFでCJKサブグループの設立
W3CのCSS3に対する働きかけと同時に、村田氏と村上氏の挙げる標準化戦略には、International Digital Publishing Forum(IDPF)のEPUBワークグループのサブグループとしてCJKサブグループを設立することが含まれています。これについて台湾、中国、韓国、そしてIDPFに対して村田氏から提案が行われており、今年の8月には日本での会合を予定しているとのことです。
文芸書などを電子出版する場合には縦書きは不可欠であり、EPUBで安心して縦書きレイアウトを使えるかどうかは、大げさに言えば日本のこれからの出版文化を左右する重大事でしょう。もちろんPDFなど縦書きを実現するほかの技術的な方法もありますが、電子出版の多様性、アプリケーションやWebと電子出版との連係などを考えたとき、HTML/CSSでの縦書き実現は非常に重要になるはずです。お二人の活動を応援したいと思います。
あわせて読みたい
グーグル、Google App Engineの利用拡大に追いつけていないと告白
≪前の記事
「HTML5は優先順位を間違った。もういちどセキュリティの設計からやり直すべきだ」と語るJavaScript大家のDouglas Crockford氏