カテゴリー別アーカイブ: EPUB

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 へのツイートが次のところにまとめられています。


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” などとするとよいかもしれません。

続きを読む


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

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

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

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


Pages: Prev 1 2