本記事は、アーカイブに保存されている過去の記事です。最新の情報は、公益社団法人日本印刷技術協会(JAGAT)サイトをご確認ください。
私はW3CのCSSワーキンググループでエディターをしている。今日はJLREQ(日本語組版処理の要件)の出版記念ということで、ここまでの経緯をまとめてみた。
10年前の1993年が日本語組版にとってエポックメーキングな年であり、その年にJLREQの前身であるJIS X4051が発刊されている。
同じ年に、JISとほぼ同時だったのでJISの取り込みには間に合っていないが、Word6.0が日本語ワープロとしては初めて、約物の詰めとか、きちんと組版ルールを組み入れたワープロとして発売されている。
1995年には、Wordはほとんどマイナーチェンジされたが、これがOutlookに入ったということで、この時点ではまだJISのような組版が、メールクライアントで使えるようになった。1997年に、Word97でJISと合わない部分やバグフィックスを入れた。JIS準拠という明確な基準はなかったが、作っている側の目から見て、WordはJIS準拠と呼んで差支えないだろうというレベルに到達している。
このWordの挙動をもとに、1999年、マイクロソフトからW3Cに対してInternational LayoutというCSSの提案がされて、これをもとに、翌年IE5.5という、ブラウザとして初めて縦書きをサポートしたものが出ている。
このInternational Layoutという仕様が、その後いろいろ分割されたり名前が変わったりして、2003年に一度、CRという、このままいけば勧告になるというところまで行ったが、ここで少し問題があって差し戻しになった。
その後、もう一度仕様をきちんと作り直し、考え直し、いろいろな問題を直さなければいけないということになり、CSSで活動していたElika Fantasai(エリカ・ファンタサイ)というエディターが小林龍生さんとドイツで出会って、JLREQをきちんと作ろう、要件定義をきちんとまとめてW3Cに入れていこうという作業が始まった。
小林氏:エリカがベルリンでプレゼンテーションを行ったのは2005年である。そのときに彼女はテキストのコードのドラフトはもう書いていて、それを発表したのが私である。そのときは4051を持って発表した。
石井氏:2003年まではCSSの仕様もマイクロソフトが持っていたが、マイクロソフトがオーナーを降りて、今出てきたエリカ・ファンタサイという人が2005年からワーキングドラフトを書き始めた。それを裏でJLREQが支えてきた。
JLREQの初版が2008年に出て、先ほどの村田さんのようなお話でEPUBから参照ということになり、それを受けて2010年10月に、CSSのさらにアップデートされたワーキングドラフトをもとにWebKitが実装され、昨年、EPUB3.0が勧告になった。
ほとんどすべての今の日本語組版の基本がJISにあり、それが日本語を読めない人が参照できないということで、JLREQが果たした役割というのをご理解いただけると思う。
現状まででJLREQの全部の項目をリストアップしたわけではないが、主要な項目があって、CSSはどこまで行っていて、EPUBはどこまで行っていて、それぞれの製品はどこまで行っているか、簡単にまとめてきた。
縦書き関連については、基本的な縦書きの機能についてはCSSがライティングモードレベル3でサポートし、EPUB3にそのまま入っている。WordとIEは古い文法、2003年時点の少し違う文法でサポートしている。
WebKitもサポートしているが、縦書きに関しては、WebKitの共通部分と、各ポートと呼んでいる各OSに対応する部分の両方に手を入れる必要があって、Windows版のほうが遅れている。まだ対応中なので、Windows版は△にした。
縦書きの時の文字の向きについては、日本語は当然上向きになるし、欧文は横向きになる。この記号は縦向き、この記号は横向きというのは、実はまだCSSの中でもまだ半分ディスカッション中だが、一応EPUBではCSSが決まったらそれをそのまま使うという形で参照している。
Wordは、文字の向きについては1つしかない。IEも、2003年のドラフトになかった機能なので、1つしかない。MacのWebKitはきちんとサポートしているが、Windows版はまだできていない。
縦横混在については、ほぼみんなサポートしている。ただ、これもIEは少し古い文法だったり、WordはCSSに沿っていないので、若干動きは違う。
縦中横についてはIE以外サポート、WebKitに△を付けたのは、これもちょっとまだ仕様が動いている。EPUB3で実際に制作されている方はご存じだと思うが、CSSの仕様が若干まだ動いていて、アドビとWebKitで動きが違ったりするので△にしている。
CSSに自動縦中横というレンジを指定して「数字2ケタだったら縦中横にするように」という機能が一応入っているが、これはEPUB3では使えない。Word、IE、WebKitにもない。
基本的な行組版のところで行くと、まず禁則がないとお話にならないが、残念ながらWebKitはまだ△である。CSSは禁則ルールを「通常」と「厳しくする」と3段階くらいの設定ができるが、WebKitは段階の設定ができない。それから、これは単純にバグというレベルだが、HTMLの書き方や他のプロパティとの組み合わせで禁則が効かないことがある。
両端揃えについては、CSSではほぼ実装依存、「どういう実装をしてもいい。ただ日本語ではJLREQを参照するといい」というレベルの推奨をしている。したがって、実装によって細かい詰め方や伸ばし方が変わる場合がある。EPUBはそれをそのまま参照しているので、使える。Word、IE、WebKit、すべて実装している。
約物詰めは、例えば閉じ括弧の後に句読点が来たときに半分詰めることである。それに関しては、CSS Text3で議論していたが、Text4に先送りになったので、それ以降になるということでText4?としている。この機能はEPUBでは使えない。Wordはサポートしているが、IE、WebKitはサポートしていない。
和欧間アキについても議論していたが、約物詰めと一緒の機能であることと、もともと四分空きを入れようとしていたら、日本の関係者から「四分だけでは嫌だ、もっといろんな機能が欲しい」と言われたので、3に入れるのは無理だということになって、先送りになっている。
ぶら下がりは、CSSのText3には入っているが、EPUBでは使えない。IE、WebKitも対応していない。
空白処理というのは、ちょっと特殊だが、HTMLの中で全角スペースがあったらどうやってブラウザが処理するべきかということで、よく「日本語で改行を打つとスペースが入ってしまうので、日本語はなるべく改行を打たないで作ろう」といったことをしていると思う。これは、日本語で困らないようにCSS側で作業は進んでいるが、これもEPUBでは参照していない。
欧文泣き別れは、全部サポートしている。ただ、欧文泣き別れを入れるとWebKitでは禁則が壊れるというバグがあり、今は、日本では使えないと思う。
ベースライン揃えというのはLineboxという別の仕様になるが、CSSの中でもまだ不安定だし、EPUBでも参照していない。
行長半端処理は、リフローやぶれのドキュメント独特の話だが、画面サイズが変わって、例えば行長、字詰が8.2文字となったとき、どうしても0.2文字分全部の行が開いてしまう。したがって、半端になったら全角の倍数に揃えよう、なるべく伸ばさないようにという機能がWordにはある。これもCSSで検討はしているが、まだドラフトの早い段階で、EPUBでも参照できていない。
文字の装飾について、全角化というのは、HTMLのソースの中は半角で書いていて全角にするという機能がCSSにあって、それをEPUBでも使えるように参照しているが、実装がない。
ルビの大仮名も似たようなもので、ルビの中のかなを小仮名で書いておいて、レンダラーで大仮名にする。こうするとアクセシビリティの読み上げソフトがちゃんと読めるだろうということで仕様として入れてあるが、これも実装が追い付いていない。
下線については、CSS2でもある程度使えるが、縦書きのときには日本語に下線がかぶらないようにといった部分の追加が足りていないので、日本語である程度使うにはText3が必要である。しかし、これはEPUBの3で参照していないので、EPUBは×を付けた。IEはある程度サポートしている。両方△になっているが、IEのほうがだいぶいい。WebKitは縦書きにすると左に下線が付く。
取り消し線は、非常に細かい点だが、日本だと二重取り消し線だとか、欧文ベースだとエックスハイトといって少し下目に取り消し線が付くので、日本語だと真ん中に付かないと困るといった点が足りていない。
圏点はEPUBで使えて、IE以外、みんなサポートしている。
ルビと行の処理は、EPUB3ではあまりフォーカスを置いていない。もっと基本的な部分に力を入れていたので、この辺になってくるとだいぶ×が増える。基本的なルビに関しては一通り動く。仕様はHTML5である。
二重ルビ、上下ルビについてはHTML5でもできていない。これは議論がいろいろあって、HTML側、W3C側としては、この時期に入れないと永久に入らないだろうと言われているが、日本で今「やるな」という声が出ているので、微妙である。もしかしたら永久に入らない可能性があると私は思っている。
インライン表示は、基本はルビだが、結合していったときに、ルビとしてではなく後ろに括弧付きで表示したいとか、あるいはアクセシビリティのために括弧付きで表示したいとか、HTML上はルビとして書いてあるがレンダリングでルビではなく後ろで括弧付きで表示したいという機能である。これも、今のHTML5では、あまりうまくいかない。これも同様に、HTML側は全部二重ルビとセットで考えているので、但し、二重ルビに反対の人がいる以上、進まない可能性が高い。
ルビの大仮名はだぶっているので割愛する。ルビ用グリフは、大仮名とちょっと似ている。そもそもフォントの中に、フォントそのもの、グリフそのものを見やすい字母の大きなものを使う、ルビ用の字母を使うというのを電算などでやっていて、OpenTypeとCSSフォントレベル3を組み合わせると使うことができるが、EPUBでは参照していない。また、FireFoxでは動くが、IE、WebKitではまだである。IEはIE10でサポートされる。
ルビの揃えは、出版社から若干、「やはり天付きをやりたい」とか、「広げるのではなくて中揃えにしたい」という話が出ているが、これはCSSにもまだ入っていない。
ルビの行送り、ルビがあったときに行送りがばらばらにならないようにというのは、ある程度IEとWebKitでは動いている。ある程度の条件下でよければ、現行で動いている。
行グリッドと呼んでいるのは、ページとページの間で行を揃えたり、間に図が入っても基本の行送りを一定にするという機能で、これはまだ議論が始まったレベルでCSSもまだまだこれからという段階である。
Wordはその機能を持っている。Wordの機能をベースに、もともとの1997年のドラフトに案があったので、IEもそれをベースにした独自実装を持っている。WebKitに△が付いているのは、去年の終わりごろ、ワーキンググループで議論していたかなり初期の案をもとにWebKitが独自実装を入れた。それは私も見ていないので、日本語で使えるクオリティなのかどうかわからないが、WebKit独自プロパティを使えばある程度できるのではないかと理解している。
行取りは行グリッドと近いが、ヘッダーを3行取りにしたいといったもので、これもWordではできるが、ほぼ同じ状況である。CSSではまだ議論中、IEは昔のMSの提案のプロパティをもとにある程度動く。WebKitは昨年の独自プロパティを使えばある程度動く。
大体、今の状況を述べたが、今後の課題として、W3C、CSSワーキンググループの中で考えているのは、まず安定化しよう。仕様をいつまでもいじっていると、なかなか皆さんが製品化できないので、Text Level 3とWriting Mode Level 3の安定化をする。
安定化というのはもう1つ実装ということがある。現在はWebKitとアドビの評価版にしか入っていないが、EPUBのリーダーをもっと数を増やすためにいろいろな実装をしてほしい。実装してほしいとお願いすると、当然「仕様は安定したのか」と聞かれるので、そのためにも安定化がとても大事だと思っている。
複数の実装が始まると、仕様の中で足りない部分があって、同じように動かない、HTMLをこう書いたら、このブラウザではこう動いて、このブラウザでは違うように動いたといった問題がだんだん出てくるので、そういった問題を見つけて直していくというのがCSSワーキンググループの作業になる。
おそらくもうパブリックになっていると思うが、FireFoxで数か月前から担当が1人ついて縦書き化が始まった。既にバグが入っていて、いつ終わるというのは発表されていない。その人が終わったら終わるという感じだが、一応縦書きの実装がFireFoxで始まっている。2つ目のブラウザで始まったので、我々としても相互運用性の確保を急ごうというふうに考えている。
ここまでのText Writing Modes Level 3の実装が終われば、というかある程度並行で、次の時代への種まきを始めていこうと考えている。日本語特有のルビに関して何とかしていく。それから、先ほど出てきた行取りやライングリッド、欧文とのベースライン揃えをどうするか、そういったあたりを次にフォーカスしていこうと思っている。
より高度なレイアウト、ページ組版というのは、日本語特有ではないが、CSSワーキンググループの中でいろいろ作業が進んでいるものである。これに関して日本からの要望を入れていく。CSSに入ってもEPUBに入らないと正式には使えないので、それはどうするのかという議論はある程度出ている。
Flexboxというのはより高度なレイアウトをするもので、ページの中で、例えば表紙で縦書きのタイトルなら左右中央にしたいというシンプルなことが、今、CSSではできない。これをFlexboxを使うとできるが、EPUB書籍を出すにあたって「それでは表紙が作れない」という声が既に出ている。
Flexboxはかなりもう仕様が進んでいて、FireFoxが実装していて、WebKitもかなり入っている。IEもIE10でやる。したがって、安定すればEPUBに入れていこうという話ができるのではないか。
Region、Templateというのは、もっと雑誌のようなレイアウトをしよう、箱を複数指定して、この箱からこの箱へ文字がフローしてほしい、あふれた文字が別の箱に流れたり、段組みよりさらに柔軟なレイアウトをしたいという機能で、これもアドビとマイクロソフトが実装を進めている。安定したらEPUBに入れようというチームが出てきていて、EPUBのAALというオプションが今進んでいる。テンプレートも同じである。
ページ組版、ページになってどうやっていこうか、ヘッダー、フッターをどうやって扱おうか。図版を右上に配置したりすることが今はできないので、そういったものをサポートしていくのかいかないのか、そういったものがCSSで議論されている。CSSで固まれば、またEPUBに持っていくことができると思っている。
2012年4月23日TG研究会「電子書籍と日本語組版」より(文責編集)