DAISY4からEPUB3への橋渡し役、DAISY Pipeline 2

 先のエントリで紹介したように、DAISY4こと、ANSI/NISO Z39.98-2012の仕様が先日正式に公開されました(以下、ANSI/NISO Z39.98-2012をDAISY4)。これはいわゆる中間(交換)フォーマットの仕様で、そのまま利用者が読書をする目的のフォーマットではありませんので、利用者が読書に利用するためにはEPUB、DAISYなどの配布フォーマットに変換する必要があります。そのDAISY4と配布フォーマットの間を橋渡しをする役目を担うのがDAISY Pipeline 2です。
DAISY Pipeline2
http://www.daisy.org/pipeline2/

(河村 宏氏の講演「DAISYの新時代―EPUB3を使って自分らしい知識のスタイルを選ぶ」より)
 今回は、DAISY4と並んで重要である配布フォーマットへの変換ツール、DAISY Pipeline2をその使用方法を含めて紹介します。なお、このエントリを書いている2012年8月22日時点で2012年7月3日に公開された2.1.3beta版が最新となっていますので、この2.1.3beta版を中心に話を進めていきます。

1.出入力フォーマット

 現時点でDAISY Pipeline 2.1.3betaで変換出来るフォーマットは主に以下の通りです。上では、DAISY4を起点にと、紹介しましたが、DAISY2.02などからもEPUB3に変換することができます。

  • DAISY2.02 → EPUB3
  • DTBook(DAISY3のXMLドキュメント) → EPUB3
  • DTBook(DAISY3のXMLドキュメント) → DAISY4 XML
  • DAISY4 XML → EPUB3

 現時点では、DAISY3、DAISY4については、出入力ともそれぞれのコンテンツファイル部分(DAISY3、DAISY4という器のなかに入っているコンテンツ本体)のみの対応になっているようです。
将来的に以下のように出入力フォーマットとしてDAISY3、DAISY4に対応していく必要があります。

  • DAISY3 → EPUB3
  • DASIY3 → DAISY4
  • DAISY4 → EPUB3

  DAISY3→EPUB3は、2012年6月以降の開発スケジュールに組み込まれています。それ以外のDAISY4→EPUB3、DASIY3→DAISY4はロードマップには掲載されていませんが、”ZedAI to EPUB 3“のLimitationの行間を読むといずれ対応するのではないかと思います。
 
 その他、ドキュメントで確認できた範囲では今後、以下の変換に対応できるようにするとのことです。

  • Word/ODT → EPUB3
  • HTML5 → EPUB3
  • DAISY4 → PEF(点字)

  点字とTTSについては、WGが立ち上がって議論が進められている(いた?)ようです。これは期待したいですね。
 点字
Pipeline 2 Working Group: Braille Production
Braille WGのまとめた要件、議事録など
 
 TTS
Pipeline 2 Working Group: TTS-based Production
TTS WGのまとめた要件、議事録など

2. インターフェイス

 DAISY Pipeline2で提供されているのは、現時点ではCI版のみです(Pipleline1はすでにGUI版の提供あり)。ローカルで実行する場合は、Windowsならコマンドプロンプト、Mac OS、Linuxならばターミナルを使用しましょう。なお、開発ロードマップによると、GUI版も2012年12月に公開される予定とのことです。
 
 また、これはユーザーというよりも開発者向けの話になりますが、開発中であるものの、Web UIとしてWebサービスとして展開することも可能なようです。
DAISY Pipeline 2 Web UI

3.DAISY Pipeline 2を使う

 
 簡単ですが、実際に使用法を紹介します。

3.1. 対応OS

 Windows/Mac OSX/Linux

3.2. ダウンロード

 以下でダウンロードできます。
Downloads – daisy-pipeline

3.3. インストール・実行環境

 とくにインストールは必要ありません。解凍したフォルダを作業しやすい適当なディレクトリに置いてください。
 ただし、プログラムの実行にはRubyとJavaを実行できる環境が必要です。詳細はREADME.txtもしくは以下を参照してください。Mac OSならば、RubyもJavaもすでにはいっているはずです。
Installing the Pipeline2
 

3.4. DAISY AI(DAISY4 Book Profile)を変換してEPUB3を生成してみる

 まずはDASIY Pipeline2の実行の基本から。README.txtに記載のあるとおり、カレントディレクトリをcliディレクトリに変更して実行します。

 
   
 では、サンプルファイルとしてついている以下のDAISY4のコンテンツファイル、alice.xmlをEPUB3に変換してみます。

  コマンドの構文は以下です。

#Windows
 cli/dp2.exe command [option]
#Mac OS/Linux
 cli/dp2 command [option] 
 

 
  今回は私はMac OS上で実行して、EPUB3に変換したのでコマンドは以下のようになります。

 
 $ cli/dp2 zedai-to-epub3 --i-source samples/zedai/alice.xml --x-output-dir  samples/output 
 

 上のコマンドを分解すると以下のようになります。

  • cli/dp2: アプリケーションの指定。Windowsなら cli/dp2.exe
  • zedai-to-epub3: zedaiからepub3を生成を命令するコマンド
  • -i-source:入力ファイルを指定するオプション。今回は”samples/zedai/alice.xml”と指定。
  • –x-output-dir:変換して出力するEPUB3の置き場所を指定するオプション。今回は”samples/output”ディレクトリ下に出力するように指定。

実行すると以下のようにソースファイルからうねうねとEPUB3へ変換していってくれます。

 
 $ cli/dp2 zedai-to-epub3 --i-source samples/zedai/alice.xml --x-output-dir samples/output
[DP2] Waiting for the WS to come up
[DP2] The daisy pipeline 2 WS is up!
[DP2] Job with id b86104ce-30c8-4527-936d-e43e6969e66b submitted to the server
[WS] INFO(1) - Message:writing in-memory document to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/alice-1.xhtml
[WS] INFO(2) - Message:writing in-memory document to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/alice-2.xhtml
          ・
          ・
          ・ 
[WS] INFO(5) - Message:copying disk file to file:/Users/hogehoge/daisy-
[WS] INFO(13) - Message:copying disk file to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/images/alice09a.png
[WS] INFO(14) - Message:writing in-memory document to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/package.opf
[DP2] The job b86104ce-30c8-4527-936d-e43e6969e66b has been deleted from the server
[DP2] DONE 
 

 
 ”DONE”と表示されると指定したディレクトリにEPUB3ファイルとEPUB3としてパッケージ化する前の状態のファイルが生成されています。

  
 今回実行したのは、zedai-to-epub3というコマンドですが、他にも以下のようなコマンドが実行できます。

  • dtbook-to-zedai(DTBookからDASIY4のコンテンツファイルに変換)
  • daisy202-to-epub3(DAISY2.02からEPUB3に変換)
  • dtbook-to-epub3(DTBookからEPUB3へ変換)

 オプション等はヘルプコマンドや以下のページでも参照することができます。samplesディレクトリにはDAISY2.02、DTBook(DAISY3)、ZedAI(DAISY4)のサンプルファイルもありますで、興味をお持ちの方はぜひお試しください。
Scripts — Short description of available scripts with links to each script
 なお、最後になりますが、以下のワークショップのスライド資料も参考になります。
Pipeline 2 Web Service Workshop: Integration and Interoperability 
  

関連エントリ

EPUB 3とDAISY 4の関係
DAISYからEPUB 3に変換する
DAISY再生ソフト・機器のEPUB対応

EPUB3が ISO/TS (Technical Specification)になるようです。

 ISO/IEC JTC1/SC34/AHG4 ※1においてEPUB3の国際規格化に向けた議論が進められています。そのAHG4のコンビーナを務める村田真氏(@muratamakoto)の先日のツィート(以下)によると、議論の結果、EPUB3を正式規格IS(International Standard:ISOの正式規格)の一歩手前の段階であるISO/TS (Technical Specification)※2にすることでIDPF※3、ISO/TC46※4、IEC/TC100※5、JTC1/SC34の間で合意したとのことです。
   

  村田真氏とともにAHG4の共同コンビーナを勤める韓国のYong-Sang Cho氏(@zzosang)のツィートもあわせて以下に掲載します。

(上をGoogle翻訳)
予想されるように、電子出版の標準#EPUB3はISO/ IECのTechnical Specificationに推進そうです。技術委員会の間の合意によって…韓国で提案します。目標は、2013年上半期中に終了。

 韓国語を私が読むことができないため、Yong-Sang Cho氏のツィートは機械翻訳に頼ってしまいました。そのため、翻訳もやや不確かなところがありますが、おおよそのところは理解できるのではないかと思います。2013年上半期にISO/TS化ということなのでしょうか?
 
 村田真氏とYong-Sang Cho氏が言及されているISO/IEC JTC1/SC34/AHGの電話会議の議事録がすでに公開されています(以下)。
[PDF]Minutes of the 2012-06-20 Teleconference of ISO/IEC JTC1/SC34/AHG4 (第6回電話会議議事録)
  結論部分はまだドラフトの段階ではありますが、ここでは以下の3つが挙げられています。

  • 本件について最終的な議決をするためにJTC1/SC34はAHG4(の活動期間?)をさらに更新することをAHG4は勧める。
  • JTC/SC34の下にJWG(Joint Working Group)を作り、ISO/TC46、IEC/TC100のようにEPUBに関心を持つ委員会がこのJWGに参加することをAHG4は勧める。
  • 韓国からEPUB3がTechnical Specificationの草案としてJTC1にfast-track submission ※6されることをAHG4は歓迎する。

 
 この会議では長期保存(digital preservation)や韓国のEPUB国家規格化にむけた動向についてもトピックにあがっており、なかなか興味深いところです。
 
【参考】第5回以前の電話会議の議事録。
[PDF]第5回電話会議議事録(2011-08-2)
[PDF]第4回電話会議議事録(2011-07-27)
・第3回電話会議議事録(公開されているか不明)
・第2回電話会議議事録(公開されているか不明)
[PDF]第1回電話会議議事録(2011-02-09)
 

※2012/07/02追記

 
[PDF]Resolutions of the ISO/IEC JTC 1/SC 34 Plenary Meeting, Brasilia, Brazil, 2012-06-25, 29

Resolution 8: Re-establishment of Ad Hoc Group 4 on EPUB
SC 34 re-establishes Ad Hoc Group 4 on EPUB of IDPF* with the following terms of
reference:
– to prepare the creation of a Joint Working Group (JWG) for EPUB (and possibly
other related topics) under JTC 1/SC 34 with ISO TC 46 and IEC TC 100 /TA 10
involved.
SC 34 notes that EPUB 3 will be submitted as a Draft Technical Specification by the
Korean National Body via the JTC 1 fast-track procedure and it will be assigned to the
SC 34/JWG when approved.
SC 34 re-appoints Dr. Makoto MURATA (Japan) and Dr. Yong-Sang CHO (Korea) as the
Co-Convenors of this ad hoc group.
*=International Digital Publishing Forum (http://www.idpf.org/)

【註】

※1 ISO/IEC JTC1/SC34/AHG4

 International Organization for Standardization/International Electrotechnical Commission Joint Technical Committee 1/SubCommittee 34/Ad Hoc Group4。日本語に訳すなら国際標準化機構 (ISO) と国際電気標準会議 (IEC) の第一合同技術委員会第34専門委員会第4特別班。つまり、文書の記述と処理の言語の標準化について検討する専門委員会(SC 34)の下にアドホックグループがつくられて、その中で議論が進められています。
ISO/IEC JTC 1/SC 34
http://www.itscj.ipsj.or.jp/sc34/ 

※2 ISO/TS (Technical Specification)

ISO/TS (Technical Specification)については、以下をご覧ください。
用語の知識 ISOにおける技術文書
ISO規格 | 調べ方案内 | 国立国会図書館

※3 IDPF

International Digital Publishing Forum。EPUBの標準化団体。
http://idpf.org/

※4 ISO/TC46

ISO/TC46(International Organization for Standardization/Technical Committee 46。「情報とドキュメンテーション」に関する技術委員会。
http://www.iso.org/iso/iso_technical_committee.html?commid=48750
E1300 – 2012年ISO/TC46国際会議<報告> | カレントアウェアネス・ポータル 

※5 IEC/TC100

International Electrotechnical Commission/Technical Committee 100。オーディオ・ビデオ・マルチメディアシステムおよび機器に関する専門委員会。
http://tc100.iec.ch/index_tc100.html
  ISO/IEC JTC1/SC34/AHG4には、TC100/TA10(マルチメディア電子出版及び電子書籍)の人が主に参加しているようです。
 

※6 fast-track submission

 いくつかの段階を省略して規格化を迅速に行うための手続きのことのようです(詳細は以下の26、27ページをご覧下さい)。
[PDF]標準化教育プログラム [共通知識編] 第8章 国際規格の作り方

iBooks Authorのibooks形式ってなんぞや– HTML5電子書籍余話 –

 先日の「HTML5電子書籍(1)」の続き、というよりも、(1)と(2)の間に入る余話になります。
 (2)を書いている途中であれの発表があったもので、そのまま続きを書いてよいものか調べておりました。それでせっかく調べたので、ということでまとめてみました。あのAppleの発表を実況サイトを追った範囲では、HTML5とJavaScritpばかりが強調されてEPUBには全く触れていなかった印象でしたからね。
というわけで、AppleのiBooks Authorです。

 

1. ibooks形式を作る

  まずはiBooks Authorでibooks形式の電子書籍を1つ作ってみます。といっても、ほとんどサンプルをそのまま使用したものにします。

 ファイル名は「ibooks_auhtor_test」にしました。スペルミスは一度笑ってスルーしてください。 
  
 このままサンプルをibooks形式のファイルとして書き出してしまおうと思います。
 「ファイル」→「書き出す」を選択すると以下のような画面がでます。

 ここで「iBooks」を選択するとibooks形式でコンテンツを書き出すことができます。
 
 
 これで、一応ibooks形式の電子書籍を作成できました。 
 

2. ibooks形式の中身を見る

 
 ではでは、ということで、ibooks形式の中身をのぞいてみたいと思います。
 
 拡張子のibooksをzipに変更して、そのzipファイルを解凍すればibooks形式の中を開くことができます。上で書き出したibooksファイルの中身を見てみると以下のようになっています。 

 中身を見ているとファイル構造そのものはほとんどEPUBです。コンテンツファイルがXHTML5で作成されたり、SVGや動画、音声ファイルに対応したりしているので、EPUBはEPUBでもEPUB2かEPUB3のどちらなんだろうかと迷うところもありますが、「ibooks.opf」ファイルがEPUB2のものなので、EPUB2かEPUB3かと言われると、EPUB2なのかなと思います。
とはいえ、
 
 トップレベルのディレクトリにある「minetype」ファイル(このファイルは〜形式であると宣言するファイル)には
 
application/x-ibooks+zip
 
とEPUBと異なるminetypeがしっかり定義されています。
 さらに各CSSの冒頭では

 
@namespace ibooks "http://www.apple.com/2011/iBooks"
 

と「-ibooks-」という独自の接頭辞が定義され、「-ibooks-」の接頭辞を持つibooks独自のプロパティが至るところで使用されています。
 
 つまり、ここまでの話を総合すると
 
ibooks形式=EPUB2をHTML5対応させて独自拡張したApple独自のフォーマット(読めるデバイスはiPadに制限)
 と言ってしまってよいかと思います。
 さらに@wakufactory さんが以下で紹介されているようにDashboardウィジェットというHTMLウィジェットで作成したウェブアプリを組み込むこともできます。
iBooks AuthorのHTMLウィジェットの作り方
 ウィジェットという形でウェブアプリを組み込めるならば、正直、使い方次第でもう何でもありになってしまいそうです。インタラクティブな機能はEPUB3の仕様が含有するそれの範囲を超えているのではないでしょうか。
 
 ちなみに・・・、なのですが、@commonstyle さんにお教えいただいたところによると、ibooks形式の拡張子を「.ibooks」から「.epub」に変更するとAdobe Digital Editions ver.1.72(ADE)では開けてしまうようです。
 実際に拡張子を「.epub」に変更して試してみると完全ではないようですが、一応、開けました。こういうところにEPUB由来を感じます。

 
 でも、ADEで開けても、肝心のiBooksでは開けないんですよね・・(レイアウトは崩れるが一応開けるEPUBビューワーはいくつか確認できました)。
 
 

3. ibooks形式のソースの編集する

 ところで、iBooks Authorで手軽に作れるのはよいとして、そのソースを直接編集できないのかという疑問も。
 上述のように中を開くことはできます。中のソースを直接編集してまたibooks形式に変換できるのかということですが、EPUBをベースにしているので、ibooks形式に固める方法もEPUBと同じ方法でいけるようです。つまり、以下のような感じで

$ cd ibooks_auhtor_test
$ zip -0 -X ../ibooks_auhtor_test.ibooks mimetype
$ zip -r ../ibooks_auhtor_test.ibooks * -x mimetype

と、minetypeファイルを除く形で圧縮をかけるとibooks形式のファイルに再度固めることができるようです。
 とはいえ、Appleの規約がそれを許すかどうかはよくわかりません(規約の拘束力がどれほどのものかも含めて)。
でも、一応、技術的には可能と。最も仕様が公開されないとどこまでいじってよいのかもよくわかりませんね。
 

4. itmsp

 itmpとはなんぞやですが、「ファイル」→「公開」を選択すると「itmsp」というファイル、というかいくつかのファイルを格納したディレクトリが作成されます。おそらくはiBooks Storeで公開する際に使用するものだと思います(未確認)です。
 今回の場合だと、「ibooks_auhtor_test.itmsp」というディレクトリが作成されるのですが、そのディレクトリには

 とibooksファイルとメタデータ、表紙画像が格納されています。メタデータと表紙画像はiBooks Storeの書誌画面として使用するんでしょうか(未確認)。メタデータと表紙画像は予め外部ファイルとして書き出されるですね。
  
 ここで終わってもよいのですが、 これを書きながら感じたことを余談として2つほど以下に書いてみます。そもそも余話であるはずのこのエントリに余談が許されるのかという問題はおいていて・・・

【余談 その1】 iPad上でEPUBは今、どこまでできるのか的な話

 iBooks上ではibooksもEPUBも同じWebkitを使用しているはず。EPUBにはさすがにHTMLウィジェットは組み込めないと思いますが、同じエンジンを使用しているならば、iPad上で読む限り、ibooks形式でできることはEPUBでもできるのではないかと思ったりします(未確認)。
 そう思わせたものが、米O’Reilly社から無料で公開されている以下の電子書籍(EPUB)です。 
 null
HTML5 for Publishers

By Sanders Kleinfeld
Publisher: O’Reilly Media
Released: October 2011
 この書籍では出版社を対象にしたHTML5の紹介がされているのですが、その中のCanvasの紹介で、お絵かきツールをEPUBファイルの中に組み込んでいたりするんですよね。一応、EPUB2なはずですけど。 

 仕様上はあまり推奨されませんが、iBooks上であれば、いろいろとできてしまいそうな気がします。
  で、同じWebkitを使用しているならば、全くとは言わないまでの、それに近いことはできるのではないかと(UIは除く)。
  時間があれば、ちょっと調べてみたいところです。
   

【余談 その2】 iBooksのEPUB3フル対応はいつなの?的な話(推測しか書いてません)

 
 ところで、iBooksのEPUB3のフル対応はいつなのかという問題ですが、Mobile SafariとiBooksがWebkitを(おそらく)共有している以上、iBooksのEPUB3へのフル対応はもう少し先になるかもしれません。
 EPUB3はW3Cの仕様としてまだドラフト段階のCSS3の仕様をいくつか組み込んでいます。EPUB3の仕様はすで確定し、その仕様には「-epub-」という接頭辞も用意されています。しかし、AppleはiBooksのためにだけにドラフト段階の仕様をiOSのWebkitに対応させる気がないのかもなあぁとこういうのいじってみて感じるところです。-ibooks-という接頭辞を用意して独自のプロパティを使用しているアップルさんではありますが。
 もしMoblie Safariと足並みを揃えることになるとしたら、iBooksのEPUB3フル対応はもう少し先になりそうですね。もう少しといっても次のiOSのアップデートまで、半年先とか長くて1年先ぐらいですが。
※2012/01/30 追記
iBooksはEPUB3にすでに部分的に対応しておりましたので、【余談 その2】を「対応」から「フル対応」へ変更しました。