CSS3 Text仕様ドラフト公開、CSS3縦書きと論理プロパティ、EPUB国際化の台湾会議

新しいドラフトが公開されました:
CSS Text Level 3 W3C Working Draft 5 October 2010
このCSS3 Text仕様は、世界中の言語の文字組版に対応するためのもので、日本語組版に関係するものでは次のような機能があります。

  • line-break 行分割の禁則処理の設定
  • text-justify 行調整
  • punctuation-trim 約物の詰め
  • text-autospace 和欧文間アキ
  • hanging-punctuation 句読点行末ぶらさげ、起こし食い込み
  • text-emphasis 圏点(傍点)

縦書きについては、CSS3 Writing Modes (Text Layout から名称変更)仕様が、最初の公式ドラフト公開に向けて作業中です。
CSS Writing Modes Module Level 3 Editor’s Draft

  • writing-mode 組み方向の指定。値が従来の tb-rl から vertical-rl (縦書きでブロック進行方向は右から左)のように変わってることに注意。
  • text-orientation 縦書きでの欧文など文字の向き
  • text-combine 組み文字、縦中横
  • Logical properties: margin-before, logical-width, etc. 論理プロパティ

これらの仕様作りの中心になっているのは、Elika (fantasai)と石井さんです。私もいくらか関わってます。
Elikaはこの作業のために9月下旬にアメリカから来日しています。そして、Elikaと石井さんは、EPUB EGLS台湾会議(10月5~6日)に参加しました(前回の札幌での会議は私が出ましたが、今回は二人におまかせ)。Elikaは台湾から戻ったあと10月下旬まで日本滞在。
CSS3縦書き仕様(論理プロパティを含む)の標準化を進めて、それを次期EPUB仕様で使えるものにすることを目指しています。
ツイッターのまとめ:EPUBで縦組を実現するには? EPUB EGLS台湾会議 第1日目第2日目
EPUB EGLSコーディネーター村田真さんのツイート

EGLS台湾会議は大成功だった。EGLSとしては、残りは短い仕様を書くだけになったと思う。W3CとしてはCSS TextとCSS Writing Modesを勧告候補で持ってくるという仕事が残っているが、十分以上の見込みがあると私は思っている。 #epub_egls

ということです。
縦書きもできて、よりよい日本語組版がEPUBでもWebでも実現されることが楽しみです。


「マークアップ言語の活用と、EPUB電子書籍とウェブの日本語組版対応標準化について」

9月18日 第29回出版UD研究会に講師として招いていただき、「マークアップ言語の活用と、EPUB電子書籍とウェブの日本語組版対応標準化」について話をしました。

そのプレゼン資料です:

マークアップとは何か、マークアップ言語と電子書籍、マークアップ言語と組版、EPUBとは何かという基本的なことから、EPUBとCSSの縦書きなど日本語組版対応標準化についての最近のことをまとめましたので、よろしければ御覧ください。

追記:この第29回出版UD研究会のTwitterのハッシュタグ #udpub29 へのツイートが次のところにまとめられています。


AH Formatter V5.2リリース!

XML自動組版ソフト Antenna House Formatter がマイナーバージョンアップして V5.2 になりました。

バージョンアップ内容は、AH Formatter V5 改訂情報を御覧ください。

W3C世界標準のページ出力用XMLスタイルシート仕様 XSL-FOCSS3ページ媒体用仕様など CSS Level 3 をサポートする AH Formatter を、これからもさらに進化させていきます。どうぞよろしくお願いします。

『バッチ組版のためのXSL-FO指南』、
『ページ組版のためのCSS指南』好評発売中!

AH Formatterを使いこなすためのお勧めの教本です。編著者は自動組版のエキスパート藤島雅宏氏。私も監修をお手伝いしてます。詳しい紹介は(株)エクスイズムのこちらのページへ。


EPUB次期仕様策定の札幌会議に参加しました

EPUB EGLS (Enhanced Global Language Support)札幌会議(8月3~4日)に参加しました。
コーディネーターである村田真さんのブログ記事「EPUBの国際化と札幌会議」に書かれているように、日本、台湾、韓国、アメリカのエキスパートが集まり活発な議論が行われました。Twitterで実況されたのがまとめられてます:第1日目2日目午前2日目午後
私の役目は、W3C CSSWGのメンバーとして、EPUB国際化と関係するCSS3仕様策定の状況について、特に縦書きに関係するCSS3 Text Layout仕様がまだこれから仕様を議論して作っていかなければならない段階であることを説明し、EPUB次期バージョンで縦書きなど未完成のCSS3機能をどうやって取り入れるべきかという案を示すことでした。詳しくは、次のプレゼン資料を御覧ください:

この発表と会議での議論により見えてきた方向性としては、前回のエントリ「EPUB仕様の日本語組版拡張案のためのメモ」で書いたように、EPUB次期バージョンでは未完成のCSS3のプロパティを採用するのではなく、EPUBのパッケージ情報を記述するOPFの中に組み方向とページ進行方向の情報を入れることや、縦書きの中での横書き部分の指定や、圏点の指定などはXHTMLのクラス名を定義するという案が受け入れられ、今後はその詳細の仕様策定をしていくことになるだろうということです。
未完成のCSS3プロパティをEPUBで直接指定することは避けるとしても、該当するCSS3仕様が完成したときに両者が互換性のあるものにならなくてはなりません。W3C CSS仕様とIDPF EPUB仕様が調和していく必要があります。
札幌会議の直前に私のプレゼン資料を W3C CSSWG の議長の Bert Bos と CSS3 Text Layout などのメインのエディタ Elika Etemad (fantasai)に見てもらったところ、次のようなコメントをもらっています:

「ありがとう! EPUBがCSS3に注目しているのは良いことだ。EPUBはHTML/CSSの重要な応用だと思う。
プレゼンは完璧だ。CSS3の状況と論点についてとてもよくまとめられている。
あとで参加者の意見はどうだったかどういう結論が得られたかを知らせてほしい。」(from Bert)

「この複雑な問題を説明する良い仕事をしてくれてありがとう! EPUBコミュニティが問題を解決してCSS3仕様策定を助けてくれることを期待します。私たちはその成果をCSS仕様に組み入れることになるでしょう。」(from fantasai)

このように、W3C CSSWG側もEPUBに注目しているということです。
以下、IDPFのEPUB次期仕様策定についての情報がまとめられているサイト:


EPUB仕様の日本語組版拡張案のためのメモ

6月1日に「EPUB仕様の日本語組版拡張を目指して(Version 0.8)」を試案として公開しました。

この試案の主な点は、縦書きの指定に CSS3 の writing-mode プロパティを使うことと、W3C内で議論されている margin-before/after/start/end など論理的プロパティを採用するということでした。

しかしその後、W3C での議論や、縦書き対応EPUBビューアなどを実装している側の意見を聞いて、この方針は無理があったと感じています。
(参考:「EPUB や CSS と日本語レイアウト、HTML5 と電子書籍」にも書きました)

そこで新たな試案を作成したいと思っているのですが、以下は、そのための私的メモです。

組み方向と綴じ方向の指定(OPFパッケージ文書に)

組み方向と綴じ方向の指定はCSSで指定するのではなく、OPFパッケージ文書に属性として指定するのがよいと思います。そのメリットは、未完成のCSS3仕様に依存しないこと、ビューア実装にとってはOPFにアクセスするだけで組み方向と綴じ方向が分かれば、それによりUIを変えるなどができるということです。

組み方向の指定: text-direction 属性

値: auto | ltr | rtl | ttb-rtl | ttb-ltr
デフォルト: auto
auto
ビューア側で横書きにも縦書きにもできる
ltr
左から右への横書き(英語、横書きの日本語など)
rtl
右から左への横書き(アラビア語、ヘブライ語など)
ttb-rtl
縦書き(top-to-bottom)で行は右から左(縦書きの日本語など)
ttb-ltr
縦書き(top-to-bottom)で行は左から右(モンゴル文字のモンゴル語など)

ページ綴じ方向: binding-direction 属性

値: auto | ltr | rtl
デフォルト: auto
auto
組み方向により自動的に綴じ方向が決まる
ltr
左から右へ
rtl
右から左へ

OPFのどの要素に指定?

OPFのどの要素にこれらの属性を指定するべきかは、検討が必要です。この試案で参考にしているSONY&TOPPANの案では、spine 要素に binding-direction 属性を指定するものでした。

本全体の組み方向・綴じ方向だけではなく、本の一部分だけ組み方向・綴じ方向を変える指定もできるべきです。次のいずれかの案が考えられます:

案その1: 本全体への指定は spine 要素に、本の一部への指定は spine の子要素である itemref 要素に

案その2: 本全体への指定は manifest 要素に、本の一部への指定は manifest の子要素である item 要素に

縦書きの中での部分的な横書き

縦書きの行の中で数字を縦中横にしたり、表や図のキャプションなどを横書きにする指定が必要です。次のいずれかの案が考えられます:

案その1: XHTML の dir 属性を使う。dir=”ltr” または dir=”rtl” が指定された要素は横書きにする。

例: 縦中横<span dir="ltr">22</span>年
<table dir="ltr">

案その2: 縦書きの中で横書きを指定するための class 名を定義する。例えば:

例: 縦中横<span class="idpf-horizontal">22</span>年
<table class="idpf-horizontal">

圏点

CSS3 Text ドラフトには text-emphasis プロパティがあります。しかし、この CSS3 仕様が標準となるのもまだ時間を要します。

考えられるひとつの案として、青空文庫のXHTML形式で採用されているような class 名を使うというものがあります。

参考:「青空文庫 組版案内:強調」
<em class=”sesame_dot”>傍点</em>
<em class=”white_sesame_dot”>白ゴマ傍点</em>
<em class=”black_circle”>丸傍点</em>
<em class=”white_circle”>白丸傍点</em>
<em class=”black_up-pointing_triangle”>黒三角傍点</em>
<em class=”white_up-pointing_triangle”>白三角傍点</em>
<em class=”bullseye”>二重丸傍点</em>
<em class=”fisheye”>蛇の目傍点</em>
この青空文庫形式を参考に、IDPF EPUB 用に class=”idpf-emphasis-sesame-dot” などとするとよいかもしれません。

続きを読む


text-align: justify で日本語テキストも両端揃えにしたい!

日本語組版ではテキストを両端揃えにするのが標準です。CSS での text-align: justify の指定がそれに相当します。
ところが、日本語のウェブサイトでほとんどその指定が使われていなくて、行末が揃わないでがたがたになっています。
text-align: justify を指定しても、ブラウザによっては日本語の文字間は調整されず、欧文スペースだけが広がってしまい、見栄えが悪くなってしまうのがひとつの理由でしょう(あるいは単に組版にこだわらないだけ)。
現在の主要なブラウザでは、Firefox (Mozilla) なら text-align: justify の指定で日本語の両端揃えがされます。Safari と Chrome (どちらもWebKit)、Opera は、欧文スペースだけが広がります。IE は、あまり知られていないのですが、text-justify: inter-ideograph という指定を同時にすると、Firefox と同様に日本語の文字間も調整されて両端揃えがされます。
さて、先日「第8回HTML5とか勉強会」で「EPUBやCSSと日本語レイアウト、HTML5と電子書籍」という話をさせてもらったのですが、その勉強会のレポート記事が技術評論社のサイトに掲載されました:

「第8回 HTML5とか勉強会」活動報告 小松健作さん

この技術評論社のサイトでは、めずらしく text-align: justify の指定がされていて、Firefox で見ると、行末がきれいに揃っているのが確認できると思います。残念ながら他のブラウザで見ると、行末が揃っていません。そしてところどころに、欧文単語間のスペースだけが大きくなっているのが目につきます。IE では、text-justify: inter-ideograph を指定するとよいはずなのですが、残念ながらその指定はされていません。

text-justify: inter-ideograph とは?

IE で実装されている text-justify プロパティは、CSS3 Text のドラフト仕様にあるものです:

CSS3 Text: Justification Method: the ‘text-justify’ property

このプロパティは行揃えの方法を指定するもので、値としては auto、inter-word、inter-ideograph などが選べます。inter-word が欧文単語間など調整、inter-ideograph がそれに加えて漢字や仮名の文字間も調整、そして auto は、処理系によって効率と品質のバランスにもとづいて行揃えの方法を選ぶこととされています。初期値がその auto です。IE の実装では、auto = inter-word となっているわけです(auto = inter-ideograph に修正してほしいものです)。

WebKit で日本語の両端揃えが実装されていないのは電子書籍にとって問題

Web の記事で行末の揃えなど気にする人はあまりいないかもしれません。しかし、電子書籍となるとどうでしょうか? WebKit は、iPad などの EPUB ビューア iBooks に使われています。また、WebKit を使う別の EPUB ビューアもいろいろと開発されています。そのようなビューアで、日本語の両端揃えはどうなるのでしょうか?
「HTML5とか勉強会」でグーグルの及川さんに会ったので、WebKitなんとかしてほしいと話したところ、「WebKit を改良するため contributor になるためのハードルはそんなに高くない(低くはないけど)、3ヶ月~半年がんばって取り組めば contributor として認められるので、有志がチャレンジするとよいと」アドバイスをもらいました。別のCSS組版エンジン(AH Formatter、もちろん日本語組版にも対応)を開発している私の立場ではそれはできないですが、どなたかチャレンジしてはいかがでしょうか?


「EPUB や CSS と日本語レイアウト、HTML5 と電子書籍」

先日、「第8回HTML5とか勉強会」という集まりに呼んでいただき、「EPUBやCSSと日本語レイアウト、HTML5と電子書籍」というテーマで講演をしました。

そのプレゼン資料を公開しました:

この資料で、Antenna House Formatter、CSS組版の紹介と、このごろ私が関係しているEPUBとCSSの縦書きのことなど簡単にまとめています。よろしければ御覧ください。


ブログ、はじめます~自己紹介

はじめまして。アンテナハウスのブログとしては、旧・PDF 千夜一夜、社長ブログ I love software! につづく、3番目のブログです。担当は私、村上 真雄 (@MurakamiShinyu) と申します。

以下、Twitterで公開している私のプロフィールです:

  • XML/HTML+XSL/CSS 自動組版ソフト Antenna House Formatter 開発者
  • アンテナハウス取締役
  • W3C会員としてXSLとCSS3仕様に関わる
  • HTML5 IG JP共同議長
  • JEPA EPUB研究会員
  • 世界標準仕様(特にHTML+CSSとその応用のEPUB)で、まともな日本語組版を可能にしたい

このブログでは、EPUBやCSSと日本語レイアウト、XSL-FO、CSS3のこと、Antenna House Formatter のことなどを取り上げていきます。どうぞよろしくお願いします。


Pages: Prev 1 2 3 4