Copyright © 2012 Hiroshi Takase.
EPUBってさぁHTMLとCSSをzipでまとめただけのフォーマットでしょ?     Copyright © 2012 Hiroshi Takase.
このプレゼンが終わる頃にはそんな理解は変わってるわよ!Copyright © 2012 Hiroshi Takase.
• 高瀬 拓史• @lost_and_found / ろす•   http://d.hatena.ne.jp/lost_and_found/• ブログでEPUB2仕様を翻訳公開し  てる人• イースト株式会社勤務• “EPUB日本語拡張仕様策定...
• 電書ちゃん• ろすのブログのマスコットキャラ• 電子書籍の世界の案内役という初  期設定だったはず…• 性格キツめ• 立ち絵が少ないのが弱点• © (有)JCN & Garakuta                             ...
• EPUBはIDPF(国際電子出版フォーラム)が提唱  する電子出版物の配布・フォーマットの標準• オープンな標準で制約なく利用できる• XMLとウェブコンテンツをベースとしている• スクリーンや文字サイズによって、行の折り返  しが変わる、...
• 公開場所は http://idpf.org/epub/30/• 具体的な技術は次の文書で触れている  –   EPUB   Publications 3.0  –   EPUB   Content Documents 3.0  –   EP...
Open Container Format      (OCF) 3.0       Copyright © 2012 Hiroshi Takase.
• EPUBは複数のファイルで構成されており、zipで圧縮さ  れている• EPUBを構成するファイルが入った入れ物を仕様では  EPUBコンテナ (EPUB Container)と呼ぶ• zipで圧縮されているため簡単に展開して、中身を取り出...
パッケージ文書               コンテンツ文書                     ナビゲーション文書     EPUBコンテナ                                  Open Container F...
この辺のお話です      EPUBコンテナ                          Open Container Format 3.0       仕様が定義する対象      Copyright © 2012 Hiroshi Ta...
• EPUBのメディアタイプを記述した一行だけの短いテキスト  ファイル• このファイルはEPUBコンテナの先頭に、位置しなければなら  ない• 圧縮、暗号化不可• なので展開したファイルをEPUBに戻すのは、ちょっと面倒• ↓中身 appli...
• EPUBコンテナに関するメタデータを格納する必須ディ  レクトリ• 出版物に関するメタデータじゃないよ• ここに格納するファイルは役割によって名前が予約され  ている• 必須ファイルはcontainer.xml。あとはオプショナル     ...
• 出版物のルートファイルの位置とメディアタイプを示すXML  文書。圧縮、暗号化不可• EPUBのルートファイルはパッケージ文書(.opf)• EPUBではmimetype、META-INF以外は自由なファイル・ディ  レクトリ構成が可能→ビ...
なんでわざわざ      パッケージ文書の      メディアタイプを      指定するわけ?      EPUBの中には      EPUBのルートファ      イルがあるに決まって      んじゃんJKCopyright © 2012...
OCFは汎用的なコンテナとして開発されてます。EPUBコンテナの中に別のフォーマットを入れることも許容されてます(いちおー)。     Copyright © 2012 Hiroshi Takase.
• EPUBに他のフォーマットや複数のパッケージ文書を同梱する  ことも仕様上は可能(ただし選択する条件を記述できる仕様  になってない)• 将来の改版で条件指定ができるようになりそうな気配 <?xml version="1.0"?> <con...
ファイル名             用途                               備考encryption.xml   暗号化                    暗号化したファイルと方式を記述manifest.xml  ...
暗号化とか署名とかDRMとか…はっきり書いちゃったら破られるんじゃない?     Copyright © 2012 Hiroshi Takase.
方式は記述するけど 秘密鍵の場所など 復号に必要な情報は 書かれていません。 早い話が実装依存ね。Copyright © 2012 Hiroshi Takase.
• Font Obfuscation• EPUBにはフォントファイルを同梱できるが、暗号化されてい  なければ、高価な商用フォントであっても中から取り出すの  は容易。フォントメーカーの懸念材料となる• そのため出版物の識別子をキーにして、フォ...
EPUB Publications 3.0       Copyright © 2012 Hiroshi Takase.
この辺のお話です     パッケージ文書                               EPUB Publications 3.0  仕様が定義する対象 Copyright © 2012 Hiroshi Takase.
•   書誌情報(メタデータ)や読み順等を記述したXML文書。•   圧縮、暗号化不可。•   拡張子.opf メディアタイプ application/oebps-package+xml•   EPUBの核となるファイルと言ってよい(これがなけ...
•   パッケージ文書のルート要素•   http://www.idpf.org/2007/opfの名前空間に属する•   次の属性指定が必須•   version属性。EPUBのバージョン。これが3.0だとEPUB3•   unique-id...
• (出版物レベルの)メタデータを記述する要素• 基本は Dublin Core Metadata Element Setで記述する• 最低限必要なのは、識別子(dc:identifier)、タイトル  (dc:title)、言語(dc:lan...
• その出版物を表すユニークな識別子• UUID(v4)を生成するオーサリングツールが多いが、特に  規定はない• 複数保持可• package要素のunique-identifier属性から一つだけID参照  する <package ... ...
EPUBの内容を       編集したら       識別子は       変えなきゃダメ?Copyright © 2012 Hiroshi Takase.
マイナーなリビジョンで識別子を変えるべきではありません。細かい差異は更新日時で識別します。     Copyright © 2012 Hiroshi Takase.
•   出版物が最後に変更された時間を記述するmeta要素。•   内容は CCYY-MM-DDThh:mm:ssZ の dateTime形式•   UTCで記述するので日本は+9時間•   出版物の識別は“識別子@更新日時”で行う    <m...
• dc:title その出版物のタイトル表す要素• dc:language その出版物が使用する言語を表す要素。内  容は言語コードで指定する。英語はen、日本語はja。国  コードまで付けるならja-JP。 <metadata   xmln...
うーん、この本の正確なタイトルは「痛プレゼン シリーズ 1 いいパブッ!! よくわかるEPUB3 」なんだけど…         Copyright © 2012 Hiroshi Takase.
……(呆)Copyright © 2012 Hiroshi Takase.
• refines属性を持ったmeta要素と組み合わせて、メタデー  タを詳細に記述する仕組みがある• どこまで運用するかは出版社、プラットフォーマー次第  か <dc:title id=“title”>いいパブッ!!</dc:title> <...
• dc:creator その出版物の責任者≒制作者を表す要素• オプショナルな要素だが、大抵使うはず。• 役割を詳細に記述するなら meta要素とMARC Code List  for Relatorsを組み合わせる方法がある。  <dc:c...
• http://www.loc.gov/marc/relators/• リソースの関係者を記述するためのコードで書誌情報の  記録に利用する• The Library of Congress (米議会図書館)がメンテナンス• 出版物のみならず...
• 出版物のコンテンツが利用するリソースの一覧を記述し  た要素• 利用するすべてのリソースをitem要素に記述する• item要素にはid、href、media-type属性が必須 <manifest>   <item id=“foo” hr...
• item要素には内容を説明するproperties属性が必要とな  る場合がある• cover-image:表紙画像、nav:ナビゲーション文書、  scripted:javascriptかformタグの利用、math:MathMLの利  ...
• EPUB Core Media Types• EPUBの中でfallbackなしで利用してよいリソース• ここにないリソースはコアメディアタイプへのfallback  を提供しなければならない• ビューワにとって全てがサポート必須ではなく、...
• fallback chain mechanism• manifestのitem要素にはfallback属性で、代替リソースを  指定できる。・fallbackのfallbackのfallback…と幾つも重ねてよいが、コアメディアタイプが一...
分類      名称                    メディアタイプ                              EPUB3   EPUB 2.0.1画像      GIF                   image/g...
あれ、       動画がないよ。       EPUB3は動画       埋め込めるんじゃ       なかったっけ?Copyright © 2012 Hiroshi Takase.
ブラウザ戦争の煽りで、動画はコアメディアタイプに入らなかったの。ビューワは少なくともH.264かVP8のどちらかのコーデックはサポートしましょうとNOTEに小さく書いてあるわ…      Copyright © 2012 Hiroshi Tak...
• spine = 本の「背」のこと• コンテンツ文書の読み順を指定する要素• 紙のページを綴じる代わりにspineに文書を綴じる感じ <spine>     <itemref idref=“cover.xhtml” />     <itemr...
• 本の綴じ方向はspine要素にpage-progression-direction属  性で指定する• ltr は左綴じ(横書きの本)で初期値。rtl が右綴じ(縦書  きの本)• HTML+CSSでは文書間の進行方向を指定できないため、 ...
時間が限られているのでプレゼンでは次のguideとbindingsは割愛します…    Copyright © 2012 Hiroshi Takase.
• 本のセマンティクスを記述するオプショナルな要素• EPUB3では非推奨の扱い。ナビゲーション文書の<nav  epub:type="landmarks"> で代替できる  <guide>     <reference href="cover...
• 特殊なフォールバックを実現するオプショナルな要素• 子要素にmediaType要素を持ち、そこにはmedia-type属  性とhandler属性がある。• media-type属性のメディアタイプを持つリソースの  フォールバック先となる...
<!-- こんなHTML5のコンテンツ文書があるとする --><object data=“foo.xml” type=“application/foo”>  <img src=“bar.ipg” /></object><!-- パッケージ文書に...
EPUB ContentDocuments 3.0   Copyright © 2012 Hiroshi Takase.
この辺のお話です(あとCSSとかいろいろ)                                  コンテンツ文書                                        ナビゲーション文書           ...
• 本の内容を記述した文書。XHTML5またはSVGで記述す  る• XHTML5なら拡張子は.xhtmlとする• XHTML5を採用したおかげで、audioやvideoタグが利用  できるようになった。あとルビも。• EPUB2ではXHTML...
せっかくのHTML5の勉強会なのにHTML5への言及が少ないわね~      仕様でも単に参照してるだけだから      それほどHTML5ついてあれこれ      言ってるわけじゃないのよ      それに僕もHTML5勉強中なので     ...
• 目次の役割を果たす特殊なXHTMLコンテンツ文書• EPUBファイルの中にナビゲーション文書は必須• 目次は<nav epub:type="toc">の中に番号リスト(ol、li)とハ  イパーリンク(a)などで記述する• EPUB2では目...
• EPUBで利用するスタイルシートをEPUBスタイルシート  と呼ぶ• CSS 2.1とCSS3のプロパティで構成される• ただし、ビューワは全てのプロパティを実装しなければ  ならないわけではない• 参照しているCSS3モジュールは以下のと...
• CSS3からはまだWD、ED等安定していないステータスの  モジュールも参照している。• これらのプロパティには –epub-の接頭辞を付ける• -epub-が必要なプロパティは仕様の中で明示してある• ちなみに、WebKitでは-epub...
EPUB CanonicalFragment Identifier      Copyright © 2012 Hiroshi Takase.
• 出版物の中の任意の位置を参照するための識別子• テキストだけではなく様々なメディアの時間や空間も指  定できる• 読みかけの場所の保持、ハイライト、メモ、注釈など用  途は様々• 人に厳しく機械に優しい構文>< mybook.epub#ep...
Accessibility    Copyright © 2012 Hiroshi Takase.
• EPUB3のマルチメディア対応はアクセシ  ビリティ向上の目的もある• 録音済み音声とテキストの同期 – メディアオーバーレイ文書を利用する• 音声読み上げ(Text to Speech) – PLS文書を同梱する – コンテンツにSSML...
• Synchronized Multimedia Integration Language (SMIL  3.0) のサブセット• http://www.w3.org/TR/SMIL/ ←SMIL• オーディオ再生とテキストの同期に利用する•...
• Media Overlaysを体験するにはiBooksで“Yellow  Submarine”を読んでみるのがお奨め• EPUB2ベースだが、マルチメディア、スクリプティング  などEPUB3の新機能のショーケースに近い• Appleの独自...
• Pronunciation Lexicon Specification Version 1.0• http://www.w3.org/TR/pronunciation-lexicon/• 音声認識と音声合成エンジンが利用する  発音情報辞書...
• Speech Synthesis Markup Language Version 1.1• http://www.w3.org/TR/speech-synthesis11/• 音声合成エンジンを制御するマークアップ言語           ...
• 紙の読書に困難を抱える人のための国際標準フォーマッ  トDAISY(=ANSI/NISO z39.86)を開発する非営利団体• IDPFの古参かつ中核メンバー• DAISYはDigital Accessible Information SY...
まあEPUBってウェブ技術をパクリ参照しまくりだよね      Copyright © 2012 Hiroshi Takase.
既にあるものを使うのは悪いことじゃないし、参照しっぱなしでもないわよ!Copyright © 2012 Hiroshi Takase.
• EPUBの日本語レイアウト対応を契機として策定  が前進したもの – CSS Text Level 3 – CSS Writing Modes Module Level 3• EPUBのレイアウト向上を視野にCSSモジュール  化が進められ...
• EPUBのどこがウェブと同じでどこが違うのか見えてき  たものはありましたでしょうか?• EPUBが独自に補っているものには、ウェブをよりよく  するヒントもあるかもしれません。• 出版業界はしばらくCSS組版にドハマリしながらEPUBを ...
ギャルゲーでわかるEPUB3  → 無理ゲーでしたボツ企画   Copyright © 2012 Hiroshi Takase.
Copyright © 2012 Hiroshi Takase.
ご清聴       ありがとう      ございました                         Fin.Copyright © 2012 Hiroshi Takase.
Upcoming SlideShare
Loading in...5
×

いいパブッ!! - よくわかるEPUB 3

155,383

Published on

EPUB3.0の仕様まわりのお話
第26回HTML5とか勉強会発表資料

Published in: Technology
2 Comments
68 Likes
Statistics
Notes
No Downloads
Views
Total Views
155,383
On Slideshare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
0
Comments
2
Likes
68
Embeds 0
No embeds

No notes for slide

いいパブッ!! - よくわかるEPUB 3

  1. 1. Copyright © 2012 Hiroshi Takase.
  2. 2. EPUBってさぁHTMLとCSSをzipでまとめただけのフォーマットでしょ? Copyright © 2012 Hiroshi Takase.
  3. 3. このプレゼンが終わる頃にはそんな理解は変わってるわよ!Copyright © 2012 Hiroshi Takase.
  4. 4. • 高瀬 拓史• @lost_and_found / ろす• http://d.hatena.ne.jp/lost_and_found/• ブログでEPUB2仕様を翻訳公開し てる人• イースト株式会社勤務• “EPUB日本語拡張仕様策定”プ ロジェクトに参加• eBookジャーナル(マイナビ)• 「EPUB定点観測」を連載⇨了 登場人物Copyright © 2012 Hiroshi Takase.
  5. 5. • 電書ちゃん• ろすのブログのマスコットキャラ• 電子書籍の世界の案内役という初 期設定だったはず…• 性格キツめ• 立ち絵が少ないのが弱点• © (有)JCN & Garakuta 登場人物 Copyright © 2012 Hiroshi Takase.
  6. 6. • EPUBはIDPF(国際電子出版フォーラム)が提唱 する電子出版物の配布・フォーマットの標準• オープンな標準で制約なく利用できる• XMLとウェブコンテンツをベースとしている• スクリーンや文字サイズによって、行の折り返 しが変わる、リフローを特徴としている• 2011年10月に最新のEPUB3が確定した• このプレゼンではこのEPUB3の仕様を追えるだ け追ってみます。 はじめに Copyright © 2012 Hiroshi Takase.
  7. 7. • 公開場所は http://idpf.org/epub/30/• 具体的な技術は次の文書で触れている – EPUB Publications 3.0 – EPUB Content Documents 3.0 – EPUB Open Container Format (OCF) 3.0 – EPUB Media Overlays 3.0 – EPUB Canonical Fragment Identifier• それではスタート EPUB3.0の仕様 Copyright © 2012 Hiroshi Takase.
  8. 8. Open Container Format (OCF) 3.0 Copyright © 2012 Hiroshi Takase.
  9. 9. • EPUBは複数のファイルで構成されており、zipで圧縮さ れている• EPUBを構成するファイルが入った入れ物を仕様では EPUBコンテナ (EPUB Container)と呼ぶ• zipで圧縮されているため簡単に展開して、中身を取り出 すことができる• 暗号化(パス付き)zipはダメよ• 一部のファイルとディレクトリの配置に、“お約束”が ある Open Container Format 3.0 EPUBコンテナ Copyright © 2012 Hiroshi Takase.
  10. 10. パッケージ文書 コンテンツ文書 ナビゲーション文書 EPUBコンテナ Open Container Format 3.0ちょ~シンプルなEPUBの構成例 Copyright © 2012 Hiroshi Takase.
  11. 11. この辺のお話です EPUBコンテナ Open Container Format 3.0 仕様が定義する対象 Copyright © 2012 Hiroshi Takase.
  12. 12. • EPUBのメディアタイプを記述した一行だけの短いテキスト ファイル• このファイルはEPUBコンテナの先頭に、位置しなければなら ない• 圧縮、暗号化不可• なので展開したファイルをEPUBに戻すのは、ちょっと面倒• ↓中身 application/epub+zip Open Container Format 3.0 mimetype Copyright © 2012 Hiroshi Takase.
  13. 13. • EPUBコンテナに関するメタデータを格納する必須ディ レクトリ• 出版物に関するメタデータじゃないよ• ここに格納するファイルは役割によって名前が予約され ている• 必須ファイルはcontainer.xml。あとはオプショナル Open Container Format 3.0 META-INF Copyright © 2012 Hiroshi Takase.
  14. 14. • 出版物のルートファイルの位置とメディアタイプを示すXML 文書。圧縮、暗号化不可• EPUBのルートファイルはパッケージ文書(.opf)• EPUBではmimetype、META-INF以外は自由なファイル・ディ レクトリ構成が可能→ビューワに最初にどのファイルを見に ゆけばよいか示す必要がある <?xml version="1.0"?> <container version="1.0“ xmlns="urn:oasis:names:tc:opendocument:xmlns:containe r"> <rootfiles> <rootfile full-path=“mybook.opf" media-type="application/oebps-package+xml"/> </rootfiles> </container> Open Container Format 3.0 META-INF/container.xml Copyright © 2012 Hiroshi Takase.
  15. 15. なんでわざわざ パッケージ文書の メディアタイプを 指定するわけ? EPUBの中には EPUBのルートファ イルがあるに決まって んじゃんJKCopyright © 2012 Hiroshi Takase.
  16. 16. OCFは汎用的なコンテナとして開発されてます。EPUBコンテナの中に別のフォーマットを入れることも許容されてます(いちおー)。 Copyright © 2012 Hiroshi Takase.
  17. 17. • EPUBに他のフォーマットや複数のパッケージ文書を同梱する ことも仕様上は可能(ただし選択する条件を記述できる仕様 になってない)• 将来の改版で条件指定ができるようになりそうな気配 <?xml version="1.0"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> <rootfiles> <rootfile full-path="OEBPS/Great Expectations.opf" media-type="application/oebps-package+xml" /> <rootfile full-path="PDF/Great Expectations.pdf" media-type="application/pdf" /> </rootfiles> </container> Open Container Format 3.0 META-INF/container.xml Copyright © 2012 Hiroshi Takase.
  18. 18. ファイル名 用途 備考encryption.xml 暗号化 暗号化したファイルと方式を記述manifest.xml マニフェスト 仕様にはコード例すらないし、 使われてるの見たことない。 ぶっちゃけ要らないmetadata.xml メタデータ コンテナレベルのメタデータを記 述する。 使われてるの見たことない…rights.xml 著作権情報 必要なDRM情報を記述。DRM方式 自体は任意。signatures.xml デジタル署名 署名したファイルと方式を記述 Open Container Format 3.0 META-INF/にあるその他の面々 Copyright © 2012 Hiroshi Takase.
  19. 19. 暗号化とか署名とかDRMとか…はっきり書いちゃったら破られるんじゃない? Copyright © 2012 Hiroshi Takase.
  20. 20. 方式は記述するけど 秘密鍵の場所など 復号に必要な情報は 書かれていません。 早い話が実装依存ね。Copyright © 2012 Hiroshi Takase.
  21. 21. • Font Obfuscation• EPUBにはフォントファイルを同梱できるが、暗号化されてい なければ、高価な商用フォントであっても中から取り出すの は容易。フォントメーカーの懸念材料となる• そのため出版物の識別子をキーにして、フォントファイルの 先頭1040 byteを変換するアルゴリズムが仕様化• 制作者はこのアルゴリズムでフォントを変換し、ビューワは 閲覧の際にこのアルゴリズムでフォントを復号化する• フォントが流用されるリスクを少し下げる程度の機構• 仕様上はEPUB3ビューワへの実装が必須 iBooksやRMSDK系ビューワでサポート 制作ツールではSigilが対応。 Open Container Format 3.0 フォント難読化 Copyright © 2012 Hiroshi Takase.
  22. 22. EPUB Publications 3.0 Copyright © 2012 Hiroshi Takase.
  23. 23. この辺のお話です パッケージ文書 EPUB Publications 3.0 仕様が定義する対象 Copyright © 2012 Hiroshi Takase.
  24. 24. • 書誌情報(メタデータ)や読み順等を記述したXML文書。• 圧縮、暗号化不可。• 拡張子.opf メディアタイプ application/oebps-package+xml• EPUBの核となるファイルと言ってよい(これがなければ単なる zipped webと変わらない)• ルート要素であるpackage要素と、子要素であるmetadata、manifest、 spineで構成される。• spineの次にguide、bindingsというオプショナルな子要素を持つ場 合もある。 <package> <metadata /><!–- メタデータを書く --> <manifest /><!–- ファイル一覧 --> <spine /> <!-- 読み順 --> <guide /> <!–- 本のセマンティクス --> <bindings /><!-- 特殊なフォールバック --> </package> EPUB Publications 3.0 パッケージ文書 Copyright © 2012 Hiroshi Takase.
  25. 25. • パッケージ文書のルート要素• http://www.idpf.org/2007/opfの名前空間に属する• 次の属性指定が必須• version属性。EPUBのバージョン。これが3.0だとEPUB3• unique-identifier属性。出版物の識別子。metadataに書いてあ る識別子をID参照する <package xmlns="http://www.idpf.org/2007/opf" version="3.0" unique-identifier="bookid"> <metadata ...> <dc:identifier id=“bookid”>...</dc:identifier> </metadata> ... </package> EPUB Publications 3.0 パッケージ文書 - package Copyright © 2012 Hiroshi Takase.
  26. 26. • (出版物レベルの)メタデータを記述する要素• 基本は Dublin Core Metadata Element Setで記述する• 最低限必要なのは、識別子(dc:identifier)、タイトル (dc:title)、言語(dc:language)、更新日時(dcterms:modified) <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:identifier id=“bookid”> urn:uuid:966a8a88-75c6-414c-bb3e-d29f0f07069b </dc:identifier> <dc:title id=“title”>いいパブッ!!</dc:title> <dc:language id=“language”>ja</dc:language> <meta property="dcterms:modified"> 2012-02-10T04:00:00Z</meta> </metadata> EPUB Publications 3.0 パッケージ文書 - metadata Copyright © 2012 Hiroshi Takase.
  27. 27. • その出版物を表すユニークな識別子• UUID(v4)を生成するオーサリングツールが多いが、特に 規定はない• 複数保持可• package要素のunique-identifier属性から一つだけID参照 する <package ... unique-identifier=“bookid”> <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:identifier id=“bookid”> urn:uuid:966a8a88-75c6-414c-bb3e-d29f0f07069b </dc:identifier> </metadata> EPUB Publications 3.0 パッケージ文書 – dc:identifier Copyright © 2012 Hiroshi Takase.
  28. 28. EPUBの内容を 編集したら 識別子は 変えなきゃダメ?Copyright © 2012 Hiroshi Takase.
  29. 29. マイナーなリビジョンで識別子を変えるべきではありません。細かい差異は更新日時で識別します。 Copyright © 2012 Hiroshi Takase.
  30. 30. • 出版物が最後に変更された時間を記述するmeta要素。• 内容は CCYY-MM-DDThh:mm:ssZ の dateTime形式• UTCで記述するので日本は+9時間• 出版物の識別は“識別子@更新日時”で行う <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:identifier id=“bookid”> urn:uuid:966a8a88-75c6-414c-bb3e-d29f0f07069b </dc:identifier> <meta property="dcterms:modified"> 2012-02-10T04:00:00Z</meta> </metadata> urn:uuid:966a8a88-75c6-414c-bb3e-d29f0f07069b@2012- 02-10T04:00:00Z EPUB Publications 3.0 パッケージ文書 – dcterms:modified Copyright © 2012 Hiroshi Takase.
  31. 31. • dc:title その出版物のタイトル表す要素• dc:language その出版物が使用する言語を表す要素。内 容は言語コードで指定する。英語はen、日本語はja。国 コードまで付けるならja-JP。 <metadata xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:title id=“title”>いいパブッ!!</dc:title> <dc:language id=“language”>ja</dc:language> </metadata> EPUB Publications 3.0パッケージ文書 – dc:title、dc:language Copyright © 2012 Hiroshi Takase.
  32. 32. うーん、この本の正確なタイトルは「痛プレゼン シリーズ 1 いいパブッ!! よくわかるEPUB3 」なんだけど… Copyright © 2012 Hiroshi Takase.
  33. 33. ……(呆)Copyright © 2012 Hiroshi Takase.
  34. 34. • refines属性を持ったmeta要素と組み合わせて、メタデー タを詳細に記述する仕組みがある• どこまで運用するかは出版社、プラットフォーマー次第 か <dc:title id=“title”>いいパブッ!!</dc:title> <meta refines="#title" property="title- type">main</meta> <dc:title id=“subtitle”>よくわかるEPUB3</dc:title> <meta refines="#subtitle" property="title- type">subtitle</meta> <dc:title id=“collection”>痛プレゼンシリーズ</dc:title> <meta refines="#collection" property="title- type">collection</meta> <meta refines="#collection" property="group- position">1</meta> EPUB Publications 3.0 パッケージ文書 – メタデータの拡張 Copyright © 2012 Hiroshi Takase.
  35. 35. • dc:creator その出版物の責任者≒制作者を表す要素• オプショナルな要素だが、大抵使うはず。• 役割を詳細に記述するなら meta要素とMARC Code List for Relatorsを組み合わせる方法がある。 <dc:creator id=“creator1”> lost_and_found </dc:creator> <meta refines=“#creator1” property="role" scheme="marc:relators" id="role">aut</meta> <dc:creator id=“creator2”> 電書ちゃん </dc:creator> <meta refines=“#creator2” property="role" scheme="marc:relators" id="role">aut</meta> EPUB Publications 3.0 パッケージ文書 – dc:creator Copyright © 2012 Hiroshi Takase.
  36. 36. • http://www.loc.gov/marc/relators/• リソースの関係者を記述するためのコードで書誌情報の 記録に利用する• The Library of Congress (米議会図書館)がメンテナンス• 出版物のみならず音楽・演劇など幅広い分野をカバーし 223種類のコードを定義• アルファベット3文字で表記できる• 日本語で読める資料超少ない>< aut: Author 著者 edt: Editor 編集者 ill: Illustrator イラストレーター ...etc. 補足 - MARC Code List for Relators Copyright © 2012 Hiroshi Takase.
  37. 37. • 出版物のコンテンツが利用するリソースの一覧を記述し た要素• 利用するすべてのリソースをitem要素に記述する• item要素にはid、href、media-type属性が必須 <manifest> <item id=“foo” href=“foo.jpg” media-type=”image/jpg” /> <item id=“bar” href=“bar.xhtml” media-type=”application/xhtml+xml” /> <item id=“baz” href=“baz.xhtml” media-type=”application/xhtml+xml” /> </manifest> EPUB Publications 3.0 パッケージ文書 - manifest Copyright © 2012 Hiroshi Takase.
  38. 38. • item要素には内容を説明するproperties属性が必要とな る場合がある• cover-image:表紙画像、nav:ナビゲーション文書、 scripted:javascriptかformタグの利用、math:MathMLの利 用、svg:インラインSVGの利用 <item id=“foo” href=“foo.jpg” properies=“cover-image” media-type=”image/jpg” /> <item id=“bar” href=“bar.xhtml” properies=“nav” media-type=”application/xhtml+xml” /> <item id=“baz” href=“baz.xhtml” properies=“scripted math svg” media-type=”application/xhtml+xml” /> EPUB Publications 3.0 パッケージ文書 - manifest Copyright © 2012 Hiroshi Takase.
  39. 39. • EPUB Core Media Types• EPUBの中でfallbackなしで利用してよいリソース• ここにないリソースはコアメディアタイプへのfallback を提供しなければならない• ビューワにとって全てがサポート必須ではなく、サポー トに条件が設けられているリソースもある• 例: 読み上げ機能を持つビューワはPLS文書をサポー トしなければならない...etc. EPUB Publications 3.0 コアメディアタイプ Copyright © 2012 Hiroshi Takase.
  40. 40. • fallback chain mechanism• manifestのitem要素にはfallback属性で、代替リソースを 指定できる。・fallbackのfallbackのfallback…と幾つも重ねてよいが、コアメディアタイプが一つ含まれている必要がある <manifest> <item id=“foo” href=“foo.foo” fallback=“bar” media-type=“applicaion/foo” /> <item id=“bar” href=“bar.bar” fallback=“baz” media-type=“application/bar” /> <item id=“baz” href=“baz.xhtml” ... media-type=“applicaion/xhtml+xml” /> ... </manifest> EPUB Publications 3.0 manifest level fallback Copyright © 2012 Hiroshi Takase.
  41. 41. 分類 名称 メディアタイプ EPUB3 EPUB 2.0.1画像 GIF image/gif ○ ○ JPEG image/jpeg ○ ○ PNG image/png ○ ○ SVG image/svg ○ ○XML文書 XHTML application/xhtml+xml ○ ○ NCX application/x-dtbncx+xml ○ ○ EPUB Media Overlays application/smil+xml ○ ― TTS発音辞書 application/pls+xml ○ ―フォント OpenTypeフォント application/vnd.ms-opentype ○ ― WOFFフォント application/font-woff ○ ―音声 MP3 audio/mpeg ○ ― MP4 AAC LC audio/aac ○ ―テキスト スタイルシート text/css ○ ○ Java Script text/javascript ○ ― EPUB Publications 3.0 コアメディアタイプ一覧 Copyright © 2012 Hiroshi Takase.
  42. 42. あれ、 動画がないよ。 EPUB3は動画 埋め込めるんじゃ なかったっけ?Copyright © 2012 Hiroshi Takase.
  43. 43. ブラウザ戦争の煽りで、動画はコアメディアタイプに入らなかったの。ビューワは少なくともH.264かVP8のどちらかのコーデックはサポートしましょうとNOTEに小さく書いてあるわ… Copyright © 2012 Hiroshi Takase.
  44. 44. • spine = 本の「背」のこと• コンテンツ文書の読み順を指定する要素• 紙のページを綴じる代わりにspineに文書を綴じる感じ <spine> <itemref idref=“cover.xhtml” /> <itemref idref=“chapter01.xhtml” /> <itemref idref=“chapter02.xhtml” /> … </spine> EPUB Publications 3.0 パッケージ文書 - spine Copyright © 2012 Hiroshi Takase.
  45. 45. • 本の綴じ方向はspine要素にpage-progression-direction属 性で指定する• ltr は左綴じ(横書きの本)で初期値。rtl が右綴じ(縦書 きの本)• HTML+CSSでは文書間の進行方向を指定できないため、 導入した属性 <spine page-progression-direction=“rtl”> EPUB Publications 3.0 パッケージ文書 - spine Copyright © 2012 Hiroshi Takase.
  46. 46. 時間が限られているのでプレゼンでは次のguideとbindingsは割愛します… Copyright © 2012 Hiroshi Takase.
  47. 47. • 本のセマンティクスを記述するオプショナルな要素• EPUB3では非推奨の扱い。ナビゲーション文書の<nav epub:type="landmarks"> で代替できる <guide> <reference href="cover.xhtml" title="Cover" type="cover" /> </guide>同じ内容をナビゲーション文書に書くとこうなる <nav epub:type=“landmarks”> <ol> <li> <a epub:type=“cover“ href”cover.xhtml”>表紙</a> </li> </ol> EPUB Publications 3.0 </nav> パッケージ文書 - guide Copyright © 2012 Hiroshi Takase.
  48. 48. • 特殊なフォールバックを実現するオプショナルな要素• 子要素にmediaType要素を持ち、そこにはmedia-type属 性とhandler属性がある。• media-type属性のメディアタイプを持つリソースの フォールバック先となるリソースをhandler属性でID参 照する。• 結果次のフォールバック順序となる1. カスタムリソース2. handlerが参照するリソース3. HTML5タグ固有のフォールバックリソース• 一体誰が使うんだぜ? EPUB Publications 3.0 パッケージ文書 - bindings Copyright © 2012 Hiroshi Takase.
  49. 49. <!-- こんなHTML5のコンテンツ文書があるとする --><object data=“foo.xml” type=“application/foo”> <img src=“bar.ipg” /></object><!-- パッケージ文書にはこう書いてある --><manifest> <item id=“baz” href=“baz.xhtml” フォールバック順序 properies=“scripted” type=“application/xhtml+xml” /> 1. foo.xml ... 2. baz.xhtml</manifest> 3. bar.jpg...<bindings> <mediaType handler=“baz" media-type="application/foo"/></bindings> EPUB Publications 3.0 パッケージ文書 - bindings Copyright © 2012 Hiroshi Takase.
  50. 50. EPUB ContentDocuments 3.0 Copyright © 2012 Hiroshi Takase.
  51. 51. この辺のお話です(あとCSSとかいろいろ) コンテンツ文書 ナビゲーション文書 EPUB Content Documents 3.0 仕様が定義する対象 Copyright © 2012 Hiroshi Takase.
  52. 52. • 本の内容を記述した文書。XHTML5またはSVGで記述す る• XHTML5なら拡張子は.xhtmlとする• XHTML5を採用したおかげで、audioやvideoタグが利用 できるようになった。あとルビも。• EPUB2ではXHTML1.1で記述し、scriptやformなどの利用 に制約があったが、EPUB3では利用可能。XHTML5のタ グについて特に制約は設けていない• その他epub:switchやepub:triggerといった独自のタグが 幾つか存在する(ほとんどはアクセシビリティ目的) EPUB Content Documents 3.0 コンテンツ文書 Copyright © 2012 Hiroshi Takase.
  53. 53. せっかくのHTML5の勉強会なのにHTML5への言及が少ないわね~ 仕様でも単に参照してるだけだから それほどHTML5ついてあれこれ 言ってるわけじゃないのよ それに僕もHTML5勉強中なので あんまり詳しく語れない(泣) Copyright © 2012 Hiroshi Takase.
  54. 54. • 目次の役割を果たす特殊なXHTMLコンテンツ文書• EPUBファイルの中にナビゲーション文書は必須• 目次は<nav epub:type="toc">の中に番号リスト(ol、li)とハ イパーリンク(a)などで記述する• EPUB2では目次をNCXというXML文書で記述していた <html ... xmlns:epub="http://www.idpf.org/2007/ops"> ... <nav epub:type=“toc”> <ol> <li><a href=“c1.xhtml”>Chapter.1</a></li> <li><a href=“c1.xhtml#sub1”>Chapter.1-1</a></li> <li><a href=“c1.xhtml#sub2”>Chapter.1-2</a></li> ... </ol> </nav> EPUB Content Documents 3.0 ナビゲーション文書 Copyright © 2012 Hiroshi Takase.
  55. 55. • EPUBで利用するスタイルシートをEPUBスタイルシート と呼ぶ• CSS 2.1とCSS3のプロパティで構成される• ただし、ビューワは全てのプロパティを実装しなければ ならないわけではない• 参照しているCSS3モジュールは以下のとおり – CSS 3.0 Speech – CSS Fonts Level 3 – CSS Text Level 3 – CSS Writing Modes – Media Queries – CSS Namespaces – CSS Multi-Column Layout EPUB Content Documents 3.0 EPUBスタイルシート Copyright © 2012 Hiroshi Takase.
  56. 56. • CSS3からはまだWD、ED等安定していないステータスの モジュールも参照している。• これらのプロパティには –epub-の接頭辞を付ける• -epub-が必要なプロパティは仕様の中で明示してある• ちなみに、WebKitでは-epub-は-webkit-のエイリアスと して動作する• CSS Text Level 3やCSS Writing Modesは2011年4月11日 時点でのドラフトに従う。 html { -epub-writing-mide: vertical-rl; writing-mode: vertical-rl; } EPUB Content Documents 3.0 EPUBスタイルシート Copyright © 2012 Hiroshi Takase.
  57. 57. EPUB CanonicalFragment Identifier Copyright © 2012 Hiroshi Takase.
  58. 58. • 出版物の中の任意の位置を参照するための識別子• テキストだけではなく様々なメディアの時間や空間も指 定できる• 読みかけの場所の保持、ハイライト、メモ、注釈など用 途は様々• 人に厳しく機械に優しい構文>< mybook.epub#epubcfi(/6/4[chap01ref]!/4[body01]/10/1:3) →“mybook.epubの中のパッケージ文書の3番目の子ノードの2番目の子ノード かつid=“chap01ref”のノードが参照するコンテンツ文書の中にある2番目の 子ノードかつid=“body01”のノードの5番目のノードの子ノードであるテキスト ノードの3文字目の直後” という意味。解説は省略! EPUB Canonical Fragment Identifier epubcfi Copyright © 2012 Hiroshi Takase.
  59. 59. Accessibility Copyright © 2012 Hiroshi Takase.
  60. 60. • EPUB3のマルチメディア対応はアクセシ ビリティ向上の目的もある• 録音済み音声とテキストの同期 – メディアオーバーレイ文書を利用する• 音声読み上げ(Text to Speech) – PLS文書を同梱する – コンテンツにSSML属性を記述する – CSS Speech Moduleを利用する 聴覚的な読書の実現 Copyright © 2012 Hiroshi Takase.
  61. 61. • Synchronized Multimedia Integration Language (SMIL 3.0) のサブセット• http://www.w3.org/TR/SMIL/ ←SMIL• オーディオ再生とテキストの同期に利用する• オーサリング環境が少なく作るのがキツい><• 拡張子 .smil メディアタイプ application/smil+xml• 好みの声優さんに朗読して貰えたら…ゲフンゲフン <par> <text src="chapter1.xhtml#sentence1"/> <audio src="chapter1_audio.mp3" clipBegin="23s“ clipEnd="30s"/> </par> EPUB Media Overlays 3.0 メディアオーバーレイ文書 Copyright © 2012 Hiroshi Takase.
  62. 62. • Media Overlaysを体験するにはiBooksで“Yellow Submarine”を読んでみるのがお奨め• EPUB2ベースだが、マルチメディア、スクリプティング などEPUB3の新機能のショーケースに近い• Appleの独自拡張部分も少なからずあるので注意 EPUB Media Overlays 3.0 メディアオーバーレイ文書 Copyright © 2012 Hiroshi Takase.
  63. 63. • Pronunciation Lexicon Specification Version 1.0• http://www.w3.org/TR/pronunciation-lexicon/• 音声認識と音声合成エンジンが利用する 発音情報辞書を記述したXML文書…らしいです(汗• 拡張子 .pls メディアタイプ application/pls+xml <lexeme> <grapheme>nihongo</grapheme> <grapheme>日本語</grapheme> <grapheme>にほんご</grapheme> <phoneme>ɲihoŋo</phoneme><!-- 国際音声記号(IPA) --> </lexeme> 補足 - PLS Copyright © 2012 Hiroshi Takase.
  64. 64. • Speech Synthesis Markup Language Version 1.1• http://www.w3.org/TR/speech-synthesis11/• 音声合成エンジンを制御するマークアップ言語 …らしいです(汗• EPUB3ではコンテンツ文書の要素に属性として 発音情報を指定するのに利用する <html ... xmlns:ssml="http://www.w3.org/2001/10/synthesis"> ... <p><span ssml:alphabet="ipa“ ssml:ph=“ɲihoŋo” >日本語</span>は難しい。</p> 補足 - SSML Copyright © 2012 Hiroshi Takase.
  65. 65. • 紙の読書に困難を抱える人のための国際標準フォーマッ トDAISY(=ANSI/NISO z39.86)を開発する非営利団体• IDPFの古参かつ中核メンバー• DAISYはDigital Accessible Information SYstemの略• 米国や北欧などで電子教科書のフォーマットとして採用 されている• 紙の本をセマンティックに記述するタグが豊富• EPUB2にも影響を与えた(NCX, DTBook)• 次期DAISY4は記述・交換フォーマットに特化。 EPUB3、点字本、PDFなどに変換して閲覧する。 補足 – DAISY Consortium Copyright © 2012 Hiroshi Takase.
  66. 66. まあEPUBってウェブ技術をパクリ参照しまくりだよね Copyright © 2012 Hiroshi Takase.
  67. 67. 既にあるものを使うのは悪いことじゃないし、参照しっぱなしでもないわよ!Copyright © 2012 Hiroshi Takase.
  68. 68. • EPUBの日本語レイアウト対応を契機として策定 が前進したもの – CSS Text Level 3 – CSS Writing Modes Module Level 3• EPUBのレイアウト向上を視野にCSSモジュール 化が進められているもの – CSS Regions Module Level 3 – CSS Exclusions and Shapes Module Level 3 – (CSS Page Templates )? EPUBからW3C CSSへ Copyright © 2012 Hiroshi Takase.
  69. 69. • EPUBのどこがウェブと同じでどこが違うのか見えてき たものはありましたでしょうか?• EPUBが独自に補っているものには、ウェブをよりよく するヒントもあるかもしれません。• 出版業界はしばらくCSS組版にドハマリしながらEPUBを 作ることになりそうですが、すでにウェブの世界に馴染 みのある方々からは、本のメタファに縛られないあっと 驚くEPUBコンテンツが生まれてこないか期待していま す。• ウェブ技術の浸透はこれまで縁のなかった業界や人に新 しい出会いを生んでいます。是非、電子出版にも触手を 伸ばしてみてください。 おわりに Copyright © 2012 Hiroshi Takase.
  70. 70. ギャルゲーでわかるEPUB3 → 無理ゲーでしたボツ企画 Copyright © 2012 Hiroshi Takase.
  71. 71. Copyright © 2012 Hiroshi Takase.
  72. 72. ご清聴 ありがとう ございました Fin.Copyright © 2012 Hiroshi Takase.

×