<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>lab.naoki.sato.name</title>
	<atom:link href="http://naoki.sato.name/lab/feed" rel="self" type="application/rss+xml" />
	<link>http://naoki.sato.name/lab</link>
	<description>lab for naoki.sato</description>
	<lastBuildDate>Sun, 25 Jul 2010 12:33:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/feed" />
		<item>
		<title>iPadをJailBreakしてBluetoothヘッドセットから曲を制御する</title>
		<link>http://naoki.sato.name/lab/archives/190</link>
		<comments>http://naoki.sato.name/lab/archives/190#comments</comments>
		<pubDate>Sun, 25 Jul 2010 12:33:44 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[jailbreak]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=190</guid>
		<description><![CDATA[先日、Sony EricssonよりMW600というBluetooth対応ヘッドセットが発売されました。電話はもちろん、イヤフォンジャックが付いていて、好きなイヤフォンで音楽を聴ける優れ物です。
Bluetoothなので [...]]]></description>
			<content:encoded><![CDATA[<p>先日、Sony Ericssonより<a href="http://www.sonyericsson.co.jp/product/accessories/mw600/">MW600</a>というBluetooth対応ヘッドセットが発売されました。電話はもちろん、イヤフォンジャックが付いていて、好きなイヤフォンで音楽を聴ける優れ物です。</p>
<p>Bluetoothなので当然iPhone、iPadでも使えるのですが、残念なことに曲の早送り・巻戻し等を制御するAVRCPプロファイルに完全には対応しておらず、再生・停止くらいしかできません(iOS 4.1で完全に対応するという噂ですが)。</p>
<p>iPhoneは兎も角、iPadは普段カバンに入れて持ち歩くことが多いので、手もとで曲の制御ができないのは結構致命的です。</p>
<p>そこで、どうにかして早送り・巻戻しができないものかと調べてみたところ、どうやら<a href="http://phoenix-dev.com/?p=mc">Music Controls</a>というAppをインストールすればできるようになるらしい、という事がわかりました。しかし、Music Controlsは所謂JailBreak必須との事。どうしようかと迷いましたが、背に腹は変えられないという事でJailBreakを試してみました。</p>
<p>以下、そのMusic Controlsをインストールするまでの作業記録です。</p>
<p><strong><span style="color: #ff0000;">なお、本記事はiPadのJailBreakを推奨するものではありません。総じて不具合の原因となる事も多いので、どうしてもという事で無い限りは手を出さない事をお勧めします。</span></strong></p>
<div><span id="more-190"></span></div>
<h3>前提</h3>
<p>本記事を書いている2010/07/25現在、iPad OSの最新バージョンは3.2.1、iTunesは9.2.1がそれぞれ提供されています。しかしながら、今回使用したSpiritというツールでは、OS 3.2までしか対応していませんので、ご注意下さい。</p>
<p>手元では、iPadは3.2、iTunes 9.2の環境で作業しました。</p>
<h3>まずは、JailBreak</h3>
<p><strong><span style="color: #ff0000;">作業前に、必ずiTunesでiPadのバックアップを取って下さい。</span></strong></p>
<p>「Spirit」というツールをダウンロードします。<a href="http://www.google.co.jp/search?q=iPhone+Spirit">Googleで「iPhone Spirit」で検索すれば</a>すぐに見つかると思います。</p>
<p>各種OS用のアプリケーションが提供されていますので、必要な物を取得します。</p>
<p>iPadを接続し、Spiritを立ち上げるとiPadを認識すると思うので、JailBreakを実行します。</p>
<p>処理はすぐに完了するはずです。</p>
<p>JailBreakが正常に完了していれば、「Cydia」というAppのアイコンが追加されているはずです。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0060.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0060-225x300.png" title="IMG_0060" width="225" height="300" class="alignnone size-medium wp-image-191" /></a></p>
<h3>Music Controlsのインストール</h3>
<p>追加されたCydiaを実行します。</p>
<p>初回はパッケージのアップデート等々で起動まで少し時間がかかるかもしれません。</p>
<p>起動したら、Searchから「Music Controls」を検索します。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0061.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0061-225x300.png" title="IMG_0061" width="225" height="300" class="alignnone size-medium wp-image-192" /></a></p>
<p>詳細を開いて、右上の「Install」をタップ、内容を確認。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0062.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0062-225x300.png" title="IMG_0062" width="225" height="300" class="alignnone size-medium wp-image-193" style="border: 0px initial initial;" /></a></p>
<p>問題なければインストールが開始され、正常に完了すると一番下にボタンが表示されるので、それをタップしてインタフェースを再起動します。</p>
<p>以上でインストールは完了です。</p>
<h3>Music ControlsのActivateと設定</h3>
<p>iPadの設定に、「Music Controls」という項目が追加されているので、そこでActivate、設定します。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0063.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0063-225x300.png" title="IMG_0063" width="225" height="300" class="alignnone size-medium wp-image-194" /></a></p>
<p>ヘッドセットでの制御を有効化するには、「Other Settings」の「System」にある「Headset/Dock Control」と「Remote uses Buttons」を共にONにします。</p>
<p>これで、iPadで音楽再生中にヘッドセットのボタンを押せば、早送り・巻戻しができるようになります。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0064.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0064-300x225.png" title="IMG_0064" width="300" height="225" class="alignnone size-medium wp-image-195" /></a></p>
<p>なお、Music Controlsは有料のアプリケーションです。購入前は5日間限定のトライアルモードとなります。</p>
<p>購入は、Cydiaの詳細ページから可能です。Paypalと、Amazon.comの決済サービスによるクレジットカード支払いが可能です。</p>
<h3>参考までに</h3>
<div id="_mcePaste">Cydiaには、他にも色々と便利なツールがあります。今回この機会に、他にこんな物を導入してみました。</div>
<div id="_mcePaste">
<ul>
<li>SBSettings: Status Barから色々設定</li>
<li>Backgrounder: 擬似マルチタスク</li>
<li>FullForce: iPhone用アプリを無理やり最大化</li>
<li>OpenSSH</li>
</ul>
</div>
<h3>参考までに 2 : iPadのVirtual Memoryを有効にする手順</h3>
<p>ソースは<a href="http://www.ipodtouchfans.com/forums/showthread.php?t=288228">こちら</a>。</p>
<ol>
<li>iPadに /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist を作成する。ownerは&#8221;root&#8221;、grouopは&#8221;wheel&#8221;に設定する。内容は以下のXMLを入れる。<br />
<blockquote>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
&lt;key&gt;EnableTransactions&lt;/key&gt;
&lt;true/&gt;
&lt;key&gt;HopefullyExitsLast&lt;/key&gt;
&lt;true/&gt;
&lt;key&gt;Label&lt;/key&gt;
&lt;string&gt;com.apple.dynamic_pager&lt;/string&gt;
&lt;key&gt;OnDemand&lt;/key&gt;
&lt;false/&gt;
&lt;key&gt;ProgramArguments&lt;/key&gt;
&lt;array&gt;
 &lt;string&gt;/sbin/dynamic_pager&lt;/string&gt;
&lt;/array&gt;
&lt;/dict&gt;
&lt;/plist&gt;</pre>
</blockquote>
</li>
<li>/Library/Preferences/com.apple.virtualMemory.plist を作成する。ownerは&#8221;root&#8221;、grouopは&#8221;wheel&#8221;に設定する。内容は以下のXMLを入れる。<br />
<blockquote>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
 &lt;key&gt;UseEncryptedSwap&lt;/key&gt;
 &lt;false/&gt;
&lt;/dict&gt;
&lt;/plist&gt;</pre>
</blockquote>
</li>
<li>iPadを再起動する。</li>
</ol>
<h3>参考までに 3 : iPadで音声コントロールを有効にする方法</h3>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0065.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/07/IMG_0065-225x300.png" title="IMG_0065" width="225" height="300" class="alignnone size-medium wp-image-196" /></a></p>
<p>ソースは<a href="http://apple-voice.com/wordpress/2010/05/how-to-enable-voice-control-on-ipa/">こちら</a>。</p>
<ol>
<li>/System/Library/CoreServices/SpringBoard.app/K48AP.plist の capabilities キーの下に以下の値を追加する。<br />
<blockquote>
<pre>&lt;key&gt;voice-control&lt;/key&gt;
&lt;true/&gt;</pre>
</blockquote>
</li>
<li>iPadを再起動する。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/190/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/190" />
	</item>
		<item>
		<title>ffmpegでiPhoneで再生できる動画を作成する</title>
		<link>http://naoki.sato.name/lab/archives/187</link>
		<comments>http://naoki.sato.name/lab/archives/187#comments</comments>
		<pubDate>Sat, 26 Jun 2010 11:49:42 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=187</guid>
		<description><![CDATA[少し調べて実験してみたので備忘録的エントリー。
ffmpegというOpen Sourceの動画形式変換ソフトがあります。およそ動画の変換に関しては出来ないことはないだろうというくらいの便利ツールなのですが、ソフト自体がG [...]]]></description>
			<content:encoded><![CDATA[<p>少し調べて実験してみたので備忘録的エントリー。</p>
<p><a href="http://www.ffmpeg.org/">ffmpeg</a>というOpen Sourceの動画形式変換ソフトがあります。およそ動画の変換に関しては出来ないことはないだろうというくらいの便利ツールなのですが、ソフト自体がGUIを持っていない上、実際に変換する際には恐ろしく長いオプションを指定することになるので、通常は<a href="http://www.ffmpegx.com/">このような</a>Wrapperツールを経由して使うことの多いソフトです。</p>
<p>ただ、そういったツールは往々にして有料のものが多い上、Batch処理の場合は直接コマンドを実行したほうが何かと楽というのもあるので、コマンドラインからffmpegを使って、iPhoneやiPadで見られる動画を作成する方法を調べてみました。</p>
<p>例によってMac環境限定です。</p>
<p><span id="more-187"></span></p>
<p>ffmpegのインストールはMacPortsを使います。また、動画の形式はh264/aacとします。</p>
<p>まず、MacPortsから以下の必要なソフトをインストールしておきます。</p>
<blockquote>
<pre># port install x264
# port install faac
# port install faad2
# port install a52dec
# port install lame</pre>
</blockquote>
<p>次に、次のコマンドでffmpegをインストールします。</p>
<blockquote>
<pre># port install ffmpeg +faac +faad +a52 +x264 +lame</pre>
</blockquote>
<p>オプションの指定を忘れないように注意してください。</p>
<p>インストールが終わると &#8220;ffmpeg&#8221; コマンドが使えるようになります。実際にあるファイルを変換する場合のコマンドは次のようにします。</p>
<blockquote>
<pre># ffmpeg -y -i "$INFILE" -threads 0 -vcodec libx264 -
  -b 512k -s 640x360 -r 30000/1001 -async 50 -
  -acodec libfaac -ab 128k -ar 48000 -ac 2 -vpre hq -vpre ipod640 -
  -bf 0 -coder 0 -flags2 -wpred-dct8x8 "$OUTFILE"</pre>
</blockquote>
<p>ここで、$INFILEは入力ファイル名、$OUTFILEは出力ファイル名です。このオプション指定の場合、映像はビットレートが512k bpsで29.97 fpsのh264、音声は128k bps、48000Hzのaacでそれぞれ変換されたサイズ640&#215;360の動画が出来上がります。</p>
<p>ここでの肝は &#8220;-vpre ipod640&#8243; オプション。iPhone/iPad/iPod用の動画はBaseline Profileという方式で変換されている必要があるのですが、このオプションを付け忘れると方式が変わってしまい、iPhone等にも同期されなくなるのでご注意下さい。</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/187/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/187" />
	</item>
		<item>
		<title>iPhoneのバックアップに時間がかかる場合の確認方法 -Macの場合-</title>
		<link>http://naoki.sato.name/lab/archives/185</link>
		<comments>http://naoki.sato.name/lab/archives/185#comments</comments>
		<pubDate>Mon, 21 Jun 2010 23:36:31 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[os]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=185</guid>
		<description><![CDATA[取り急ぎエントリー。
iOS 4が数時間前にリリースされました。ただ、早速アップデートしようとしても、１時間以上かかることもあるという警告に躊躇された方、もしくはアップデートをかけたけれども事前のバックアップに時間がかか [...]]]></description>
			<content:encoded><![CDATA[<p>取り急ぎエントリー。</p>
<p>iOS 4が数時間前にリリースされました。ただ、早速アップデートしようとしても、１時間以上かかることもあるという警告に躊躇された方、もしくはアップデートをかけたけれども事前のバックアップに時間がかかり中断された方もいらっしゃることと思います。</p>
<p>iPhoneの場合、インストールされているアプリケーションによってはバックアップに非常に時間がかかります。これは、iPhoneのバックアップが、アプリケーションの保存しているデータやキャッシュをいちいちすべて取り込んでしまうためで、小さいデータを多数キャッシュするようなアプリケーションがインストールされていると、バックアップだけで数時間かかるということもざらではありません(というか、自分の場合がそうでした)。</p>
<p>特に今回のようにOSをアップデートする場合など、その悪さをしているアプリケーションが何なのか判明していれば事前にアプリケーションを削除しておけばよいのですが、実際には何が悪さをしているのか分からない場合も多くあります。</p>
<p>このエントリーでは、その悪さをしているアプリケーションを突き止める一手段をご紹介します。なお、環境はMacが対象です。Windowsの場合は、おそらくフォルダの場所が異なるだけだとは思いますが、手元に環境がないため、別途調べていただければと思います。</p>
<p><span id="more-185"></span>まず、iPhoneのバックアップデータは、 &#8220;/Users/(自分のアカウント名)/Library/Application Support/MobileSync/Backup/&#8221; というフォルダの下に、自動的に付与されるディレクトリ名で取得されています。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/06/backup1.jpg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/06/backup1-300x208.jpg" title="backup1" width="300" height="208" class="alignnone size-medium wp-image-182" /></a></p>
<p>ディレクトリ名からはどのバックアップが最新なのかは分からないので、その辺りは日付からあたりを付けます。バックアップが進行している場合はいまの日付になっているはずなので、すぐに分かるでしょう。</p>
<p>ディレクトリに移動すると、こちらもランダムのファイル名で多数のファイルが存在しています。このそれぞれのファイルが、iPhoneに保存されている各種データです。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/06/backup2.jpg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/06/backup2-300x169.jpg" title="backup2" width="300" height="169" class="alignnone size-medium wp-image-183" /></a></p>
<p>このディレクトリで約3,500ファイル。直前の通常バックアップだと約15,000ファイル存在していました。これだけのファイルをあの遅いiPhoneのインタフェースで転送している訳なので、時間がかかるのも納得頂けるのではないかと思います。</p>
<p>ファイル名はランダムですので、ファイル名からはどのアプリケーションのデータがどれだけ存在しているかを把握することは難しいです。ですが、バックアップデータの取得は、アプリケーション単位で行われるようです。つまり、ファイルの日付で並び替えると、各アプリケーションのデータに並びます。従って、ファイルを日付の降順に並べて、最初にくるファイルの内容を調べてあげれば、いまどのアプリケーションのデータを転送しているのかが分かります。</p>
<p>各データは&#8221;hoge.mdinfo&#8221;と&#8221;hoge.mddata&#8221;という２つのファイルで構成されています。この内、&#8221;hoge.mddata&#8221;が実際のデータで、&#8221;hoge.mdinfo&#8221;が情報を保存しているものと思われます。</p>
<p>&#8220;hoge.mdinfo&#8221;の方をテキストエディタで開くと、次のような内容が記述されています。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/06/backup3.jpg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/06/backup3-300x252.jpg" title="backup3" width="300" height="252" class="alignnone size-medium wp-image-184" /></a></p>
<p>この中の”AppDomian&#8221;というところが各アプリケーションの情報になっているので、ここからどのアプリケーションのデータであるかが推測できます(この場合はBooklog)。</p>
<p>上記の方法で何度か調べてみて、しばらく同じ&#8221;AppDomain&#8221;のデータが続くようであれば、そのアプリケーションのデータが大量にあり、そのデータの転送で時間がかかっていると考えられるので、バックアップの必要がなければ事前に削除したほうが良いかも知れません。</p>
<p>また、&#8221;Backup/&#8221;以下のディレクトリには、通常iTunesと同期させた際に取得されたバックアップも保存されているので、そのデータからどのアプリケーションのデータが問題なのか調べることも出来るでしょう。</p>
<p>いずれにしろ、運が悪ければ何時間という単位で作業時間が変わってきますので、特にバックアップが進まない場合などは上記の内容を参考にしていただければと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/185/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/185" />
	</item>
		<item>
		<title>iPad用の快適Google ReaderブラウザReeder</title>
		<link>http://naoki.sato.name/lab/archives/181</link>
		<comments>http://naoki.sato.name/lab/archives/181#comments</comments>
		<pubDate>Sun, 13 Jun 2010 14:58:19 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[os]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/archives/181</guid>
		<description><![CDATA[ここ最近、巷、というか一部のネット界隈で話題になっているiPad用のアプリReederを買ってみました。
これまでGoogle Reader用のアプリとして決め手になるようなものが出ていなくて、少し悩みのタネだったのです [...]]]></description>
			<content:encoded><![CDATA[<p>ここ最近、巷、というか一部のネット界隈で話題になっているiPad用のアプリReederを買ってみました。<br />
これまでGoogle Reader用のアプリとして決め手になるようなものが出ていなくて、少し悩みのタネだったのですが、もうこのアプリで解決、というくらいのレベルです。</p>
<p>起動すると一瞬でGoogle Readerと同期。<br />
設定しているフォルダ単位に未読のものをアイコン表示してくれます。</p>
<p>そのアイコンをクリックするか、あるいはピンチで広げると、個別の記事を読む画面に。<br />
横置きにした場合、左に記事の一覧が並んだタイムラインがあり、それぞれの記事をクリックすると右側に内容が表示されます。</p>
<p>もちろんTwitterへの投稿や、Instapaperへのクリッピングなどもでき、その辺の拡張性は非常に高機能。<br />
インタフェースもそれぞれの記事の表示画面を上や下に引っ張ると次の記事に移ったりと、使っていてとても気持ちが良いです。</p>
<p>どこかの紹介記事に、比較的少なめのフィードをゆっくり読むのに適している、という様な内容があったような気がします。もちろんその様な用途にも最適だと思いますが、フィード数が多くてもこのインタフェースは十分便利でしょう。</p>
<p>価格は¥600と少しお高めですが、Google Readerユーザには十分に購入する価値のあるアプリです。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/06/l_1024_768_BD28509D-6018-47F7-9D0E-54BD705F0536.jpeg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/06/l_1024_768_BD28509D-6018-47F7-9D0E-54BD705F0536.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/06/l_1024_768_9CE8DED3-6E4C-4039-AEBB-B4A41B41D067.jpeg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/06/l_1024_768_9CE8DED3-6E4C-4039-AEBB-B4A41B41D067.jpeg" alt="" class="alignnone size-full" /></a></p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/06/l_1024_768_2DCE7620-1A95-4333-B1BA-1C8D5C2C86C7.jpeg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/06/l_1024_768_2DCE7620-1A95-4333-B1BA-1C8D5C2C86C7.jpeg" alt="" class="alignnone size-full" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/181/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/181" />
	</item>
		<item>
		<title>iPadからWordPressへ投稿するテスト</title>
		<link>http://naoki.sato.name/lab/archives/177</link>
		<comments>http://naoki.sato.name/lab/archives/177#comments</comments>
		<pubDate>Mon, 07 Jun 2010 14:31:31 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/archives/177</guid>
		<description><![CDATA[ふと思い立ったので、iPadからBlogの更新をテストしてみます。
・Web (WYSIWIG)
うちの環境はレンタルサーバにWordPressなので、WebからWYSIWIGで編集できるのがベストなのですが、編集エリア [...]]]></description>
			<content:encoded><![CDATA[<p>ふと思い立ったので、iPadからBlogの更新をテストしてみます。</p>
<p>・Web (WYSIWIG)<br />
うちの環境はレンタルサーバにWordPressなので、WebからWYSIWIGで編集できるのがベストなのですが、編集エリアが選択できないのでNG。</p>
<p>・Web (HTLM)<br />
他方、HTMLモードなら編集はできるものの、今度は編集エリアが狭すぎてあまり実用的ではない。</p>
<p>・WordPress App<br />
このAppから更新できるものと思い込んでいたのですが、編集画面でキーボードの言語を切り替えると画面がおかしくなる…</p>
<p>ということで、今回はTextExpanderが効くということでSimpleNoteで編集→コピー→WordPress Appで投稿で試してみます。<br />
最後のプロセスはメールで投稿とした方がわかり易いかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/177/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/177" />
	</item>
		<item>
		<title>iBookstoreで提供されているEPUB書籍の構造を覗く</title>
		<link>http://naoki.sato.name/lab/archives/163</link>
		<comments>http://naoki.sato.name/lab/archives/163#comments</comments>
		<pubDate>Wed, 12 May 2010 14:36:22 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=163</guid>
		<description><![CDATA[先日来、日本でもiPadの予約が開始されましたが、幸運にも一足早く手にすることができました。
既に多くの方がレビューされているので細かなレビューはしないつもりですが、噂にたがわずとてもすばらしいアイテムです。おそらくこれまでiPhoneを使っていたり、メディアデータを積極的に電子化していた人にとっては現時点で最高のデバイスではないかと思います。
そんなiPadの数ある機能の中でも、特に注目されているのがiBooks。残念ながら日本ではしばらくサービスの提供が無さそうではありますが、本格的な電子書籍プラットフォームとして着目されている方も多いと思います。
ご存知のように、iBooksではアプリケーション内でiBookstoreというサイトにアクセスし、アプリケーション内で書籍を買うことができます。

このiBookstore内で使われているファイルフォーマットが、これまでこのBlogでも度々取り上げてきたEPUBです。
EPUBファイルについてはこの記事やこのタグを参照していただきたいのですが、基本的には、本の中身のデータと、メタデータとを一緒にZIP圧縮したファイルになっています。ということは、暗号化されている内容はともかくとして、どのようなファイル構造になっているかはこのZIPファイルを伸長すればわかるはず…
ということで、この度、以前から読まなきゃなーと思っていたChris Andersonの&#8221;Free&#8221;をiBookstoreで購入してみたので、その構造がどのようになっているか、EPUBで使われている各メタファイルの内容はどうなっているかを覗いてみたいと思います。なお、以下環境はすべてMacOSX 10.6です。


まず、iBooksに登録された本のうち、購入したもの、もしくは自分で登録したものは、オーディオブックと同じiTunesのBooksにまとめられます。iBookstore内の本はサンプルが取得出来るのですが、サンプルについてはBooksには入ってきません。
iBookstoreで購入した本のファイルは、音楽データと同じく、iTunesのライブラリの中に保存されます。例えば、今回の場合は ~/Music/iTunes/iTunes Media の下に Chris Anderson/Unknown Album/Free.epub のような感じで保存されていました。
さて、実態はZIPファイルである&#8221;Free.epub&#8221;を伸長してみると、次のようなファイル構成になっています。

naokisatoname:Free naoki$unzip Free.epub
naokisatoname:Free naoki$ls -l *
-rw-r--r--  1 naoki  staff  1644795  5  8 22:55 Free.epub
----------  1 naoki  staff    75928  5  8 22:30 iTunesArtwork
----------  1 naoki  staff     3769  5  8 22:55 iTunesMetadata.plist
----------  1 naoki  staff       20  3 25 21:10 mimetype

META-INF:
total 88
----------  1 naoki  staff    242  3 25 21:10  [...]]]></description>
			<content:encoded><![CDATA[<p>先日来、日本でも<a href="http://www.apple.com/jp/ipad/">iPad</a>の予約が開始されましたが、幸運にも一足早く手にすることができました。</p>
<p>既に多くの方がレビューされているので細かなレビューはしないつもりですが、噂にたがわずとてもすばらしいアイテムです。おそらくこれまでiPhoneを使っていたり、メディアデータを積極的に電子化していた人にとっては現時点で最高のデバイスではないかと思います。</p>
<p>そんなiPadの数ある機能の中でも、特に注目されているのが<a href="http://www.apple.com/ipad/features/ibooks.html">iBooks</a>。残念ながら日本ではしばらくサービスの提供が無さそうではありますが、本格的な電子書籍プラットフォームとして着目されている方も多いと思います。</p>
<p>ご存知のように、iBooksではアプリケーション内でiBookstoreというサイトにアクセスし、アプリケーション内で書籍を買うことができます。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/05/Picture-2.jpg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/05/Picture-2-300x225.jpg" title="iBookstore" width="300" height="225" class="alignnone size-medium wp-image-165" /></a></p>
<p>このiBookstore内で使われているファイルフォーマットが、これまでこのBlogでも度々取り上げてきたEPUBです。</p>
<p>EPUBファイルについては<a href="http://naoki.sato.name/lab/archives/45">この記事</a>や<a href="http://naoki.sato.name/lab/archives/tag/epub">このタグ</a>を参照していただきたいのですが、基本的には、本の中身のデータと、メタデータとを一緒にZIP圧縮したファイルになっています。ということは、暗号化されている内容はともかくとして、どのようなファイル構造になっているかはこのZIPファイルを伸長すればわかるはず…</p>
<p>ということで、この度、以前から読まなきゃなーと思っていた<a href="http://www.amazon.co.jp/gp/product/4140814047?ie=UTF8&amp;tag=naokisatoname-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4140814047">Chris Andersonの&#8221;Free&#8221;</a>をiBookstoreで購入してみたので、その構造がどのようになっているか、EPUBで使われている各メタファイルの内容はどうなっているかを覗いてみたいと思います。なお、以下環境はすべてMacOSX 10.6です。</p>
<p><a href="http://naoki.sato.name/lab/wp-content/uploads/2010/05/Picture.jpg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/05/Picture-225x300.jpg" title="Free" width="225" height="300" class="alignnone size-medium wp-image-166" /></a></p>
<p><span id="more-163"></span></p>
<p>まず、iBooksに登録された本のうち、購入したもの、もしくは自分で登録したものは、オーディオブックと同じiTunesのBooksにまとめられます。iBookstore内の本はサンプルが取得出来るのですが、サンプルについてはBooksには入ってきません。</p>
<p>iBookstoreで購入した本のファイルは、音楽データと同じく、iTunesのライブラリの中に保存されます。例えば、今回の場合は ~/Music/iTunes/iTunes Media の下に Chris Anderson/Unknown Album/Free.epub のような感じで保存されていました。</p>
<p>さて、実態はZIPファイルである&#8221;Free.epub&#8221;を伸長してみると、次のようなファイル構成になっています。</p>
<blockquote>
<pre>naokisatoname:Free naoki$unzip Free.epub
naokisatoname:Free naoki$ls -l *
-rw-r--r--  1 naoki  staff  1644795  5  8 22:55 Free.epub
----------  1 naoki  staff    75928  5  8 22:30 iTunesArtwork
----------  1 naoki  staff     3769  5  8 22:55 iTunesMetadata.plist
----------  1 naoki  staff       20  3 25 21:10 mimetype

META-INF:
total 88
----------  1 naoki  staff    242  3 25 21:10 container.xml
----------  1 naoki  staff  16834  3 31 16:07 encryption.xml
----------  1 naoki  staff  12611  3 31 16:07 signatures.xml
----------  1 naoki  staff   1800  5  8 22:30 sinf.xml

OEBPS:
total 1536
drwxr-xr-x  24 naoki  staff    816  5 12 22:13 Images
----------   1 naoki  staff   2696  3 25 21:10 footnote1.html
----------   1 naoki  staff    748  3 25 21:10 footnote2.html
----------   1 naoki  staff   6977  3 25 21:10 free.opf
----------   1 naoki  staff   6193  3 25 21:10 free_ack01.html
----------   1 naoki  staff    930  3 25 21:10 free_adc01.html
----------   1 naoki  staff   1284  3 25 21:10 free_ata01.html
----------   1 naoki  staff   9187  3 25 21:10 free_bm01.html
----------   1 naoki  staff   5631  3 25 21:10 free_bm02.html
----------   1 naoki  staff   9665  3 25 21:10 free_bm03.html
----------   1 naoki  staff   6690  3 25 21:10 free_bm04.html
----------   1 naoki  staff   1240  3 25 21:10 free_bm05.html
----------   1 naoki  staff  17315  3 25 21:10 free_ch01.html
----------   1 naoki  staff  34932  3 25 21:10 free_ch02.html
----------   1 naoki  staff  46627  3 25 21:10 free_ch03.html
----------   1 naoki  staff  42426  3 25 21:10 free_ch04.html
----------   1 naoki  staff  42840  3 25 21:10 free_ch05.html
----------   1 naoki  staff  16078  3 25 21:10 free_ch06.html
----------   1 naoki  staff  39279  3 25 21:10 free_ch07.html
----------   1 naoki  staff  36256  3 25 21:10 free_ch08.html
----------   1 naoki  staff  68123  3 25 21:10 free_ch09.html
----------   1 naoki  staff  17279  3 25 21:10 free_ch10.html
----------   1 naoki  staff  21562  3 25 21:10 free_ch11.html
----------   1 naoki  staff  24337  3 25 21:10 free_ch12.html
----------   1 naoki  staff  20721  3 25 21:10 free_ch13.html
----------   1 naoki  staff  21209  3 25 21:10 free_ch14.html
----------   1 naoki  staff  14739  3 25 21:10 free_ch15.html
----------   1 naoki  staff  52401  3 25 21:10 free_ch16.html
----------   1 naoki  staff   1516  3 25 21:10 free_cop01.html
----------   1 naoki  staff    802  3 25 21:10 free_cov.html
----------   1 naoki  staff    839  3 25 21:10 free_cre01.html
----------   1 naoki  staff    610  3 25 21:10 free_ded01.html
----------   1 naoki  staff   3314  3 25 21:10 free_fm01.html
----------   1 naoki  staff  11611  3 25 21:10 free_fm02.html
----------   1 naoki  staff  58619  3 25 21:10 free_ind01.html
----------   1 naoki  staff    745  3 25 21:10 free_pt01.html
----------   1 naoki  staff    750  3 25 21:10 free_pt02.html
----------   1 naoki  staff    801  3 25 21:10 free_pt03.html
----------   1 naoki  staff   6427  3 25 21:10 free_toc.html
----------   1 naoki  staff    703  3 25 21:10 free_tp01.html
----------   1 naoki  staff   2634  3 25 21:10 page-template.xpgt
----------   1 naoki  staff  27403  3 25 21:10 pdlmsr.css
----------   1 naoki  staff   5158  3 25 21:10 toc.ncx
</pre>
</blockquote>
<p>すなわち、&#8221;Free.epub&#8221;の直下に&#8221;mimetype&#8221;、&#8221;iTunesArtwork&#8221;、&#8221;iTunesMetadata.plist&#8221;の各ファイルと、メタデータが詰まった&#8221;META-INF&#8221;、本の実態である&#8221;OEBPS&#8221;というフォルダが存在しています。また、上のlsの結果からもわかるように、ファイルのパーミッションはすべて000になっていて、そのままでは触れなくなっています。</p>
<p><a href="http://naoki.sato.name/ocf/ocf_1_0_spec_ja.html">EPUBの仕様の１つで、ファイル構成の決まりごとを指定しているOCF 1.0</a>によると、EPUB的に重要なファイルは &#8220;mimetype&#8221;、&#8221;META-INF&#8221;以下の各ファイルと、&#8221;OEBPS&#8221;以下の”free.opf&#8221;、&#8221;toc.ncx&#8221;になります。ちなみに、&#8221;iTunesArtwork&#8221;と&#8221;iTunesMetadata.plist&#8221;は多分iTunesで使用されるファイルで、(<a href="http://naoki.sato.name/epubunco/bookmarklet.html">例えばこのツールとかを使って</a>)自分で用意したEPUBでも、iTunesのBooksに登録すると自動的に追加されるようです。また、本の本体である&#8221;OEBPS&#8221;以下のHTMLや画像は当然暗号化されていて、読むことはできません。</p>
<p>それでは、個々のファイルの内容を見ていきます。まずは &#8220;mimetype&#8221; 。</p>
<blockquote>
<pre>application/epub+zip
</pre>
</blockquote>
<p>この内容は、ご存じの方はご存知でしょう。詳細は<a href="http://naoki.sato.name/lab/archives/45">この記事</a>や<a href="http://naoki.sato.name/ocf/ocf_1_0_spec_ja.html">こちらの仕様書</a>を御覧下さい。</p>
<p>&#8220;META-INF&#8221;フォルダには、必須である&#8221;container.xml&#8221;ファイルの他、デジタル署名を定義する&#8221;signatures.xml&#8221;、暗号化を設定している&#8221;encryption.xml&#8221;、そして<a href="http://naoki.sato.name/ocf/ocf_1_0_spec_ja.html">仕様書</a>にはないファイル&#8221;sinf.xml&#8221;の4ファイルが存在しています。</p>
<p>&#8220;container.xml&#8221;は、EPUBの中核とも言えるopfファイルの場所を指定するもの。内容は<a href="../archives/45">この記事</a>のものとほぼ同じです。</p>
<blockquote>
<pre>&lt;?xml version="1.0"?&gt;
&lt;container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"&gt;
 &lt;rootfiles&gt;
 &lt;rootfile full-path="OEBPS/free.opf" media-type="application/oebps-package+xml"/&gt;
 &lt;/rootfiles&gt;
&lt;/container&gt;
</pre>
</blockquote>
<p>”signatures.xml&#8221;は、このEPUBの署名を指定するファイルです。実際には3行くらいのファイルになっていました。</p>
<blockquote>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;c:signatures xmlns:c="urn:oasis:names:tc:opendocument:xmlns:container"&gt;
&lt;d:Signature xmlns:d="http://www.w3.org/2000/09/xmldsig#"&gt;
&lt;d:SignedInfo&gt;
&lt;d:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/&gt;
&lt;d:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/&gt;
&lt;d:Reference URI="mimetype"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;jK41hNNg9yHE3Qyjik8tizbadMc=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="META-INF/container.xml"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;w5rli5cHwlrYWIoiFKZvhms5ToE=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/footnote1.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;k96ZhhpOPNuD0eWghNn3W4WYHZM=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/footnote2.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;YEIvYP4ik5k/GT2K9QDJGbaVcmo=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free.opf"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;RitfaSZN6O/PHCE4RW/Ps88v74Q=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ack01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;j/2j9UJXkIEOJEI5gydaeyfZYhI=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_adc01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;SeKCSTARBrktg4ZqLWiQB1XXElY=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ata01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;sssl0YFMDjdP/NhCxF8Mfj/grhE=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_bm01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;B7wmBgmyvFyHHLh315C7l30PvBc=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_bm02.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;QjhgLcuxuiq58X8B2+M6LEuaNNA=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_bm03.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;0UkIZ1TRrqKaqGw9ygxQdggvaBg=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_bm04.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;8Q5EMJ7a82v2/rC4FRYY7BtF1rg=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_bm05.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;EPxTr2efXgLuHvFZdGuELb9NK9s=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;sVXkCMwVTxaf08dZMmgUWCSqU9E=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch02.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;K7E3rGbONev8F5y7cB4STBx9mpA=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch03.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;6mWuw7wwvgP0ltlzfZhYJIxd7oQ=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch04.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;2Cre1HuhK3mcUqhRGvp/5WJ4Hvg=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch05.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;kpTRwEYs53z3TSEteyAjmwM+WdE=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch06.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;ueYKwoKchJa+gTBhQB0JflICGKI=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch07.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;NXHM2FIvxjePv67110U1VQuwdVg=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch08.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;iSMdJoRHbjmZVlIJv26QiKqKCKg=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch09.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;O2eENGllrAr1DBxaeHQs4lss65g=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch10.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;8bZ5aC4KsQXWJ4EutYfnkWBNUZI=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch11.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;cNX8Uajh9VJ1fZOdtEOod2Yh7kc=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch12.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;eS/ZZIylb/Roz7D3YbHtufXvNSY=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch13.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;mCkO1YX6lpCi9XKO5yL6127Klow=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch14.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;2SOa//QWuxD56HJmS3lbiyAvdy0=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch15.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;iXrKH7ojCrIdD/mmINZba5Wb+yc=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ch16.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;qcIXNPT9aPi5obOMHTCS8AW13z4=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_cop01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;JBPMxbVH4VEq5yc3d2/2qj0MZO8=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_cov.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;EIHlbzKfO9tyB5ULhUm1K3dyGd8=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_cre01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;kH/2po2VE8uyRjKJi7D68DsE/eI=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ded01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;RE4C14wiYxlws/melHyBSt0ki58=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_fm01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;9rfCnsg7jsPhxdfrNts5RPz0sX8=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_fm02.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;ZUle+WrY8VQdvaE4MN7bvbuzsTE=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_ind01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;190evlVqFccE1ZpjvmdIAZ/BcP0=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_pt01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;Ly3PPGwsFLew0r/jTdb54QFIUyw=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_pt02.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;n6yqObKofr8EteEMl1hPStdysbA=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_pt03.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;nlNs+sEOGOHAOuPswr9zWWBrgr8=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_toc.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;+9mmispJK7AtdKIy3ffimB+0tDo=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/free_tp01.html"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;AiPngjtfjwkAu2YEwfcEqiNk96c=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/104.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;J6r6HLPO4uH2DL0x+78lIMntW4g=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/113.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;je3L48bOShO2YnbgbNV9MYZk6n0=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/115.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;q3ees1GDzIA2ZXHCdzX5RYmclG4=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/117.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;mVrBHp4+5s5T4n5vtBBLx1CybuI=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/122.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;B/YE09o2zvWlMhzq6RFFMMYq/MU=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/141.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;SErxY2QUXf8gW+0hJiIeV2JgsaY=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/160.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;lRkpBM0IZT3lfYvwgIBhYsrTU4c=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/166.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;CXQhDcu9B9blXpfDCW7fKS7NckY=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/185.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;u1mtReZajRrdWXf36SrYCeiv2vo=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/188.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;6GtuLzeH1WMI7oV5YRu9IKoaNss=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/19.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;wG8ASuM7WtjqG0k/VYBVQWKV1so=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/21.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;/29dZ5vQad4fcwL9cj1dXmFA1Po=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/23.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;a6V9TOLhXTz2OrTX/QiDTITb1ZM=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/25.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;CLeXKlZ4ffjP36N2zAMg6dxwcsQ=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/26.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;sOuLlbfafh5yDRynovMcVpEHs+g=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/28.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;yUn+jS9gOew98na6zgTUTHCP9zw=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/60.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;9Ar6HYdcFVccojB0kHFZAQLJ5NQ=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/81.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;rppAYD+pY9egycC98t112V3HR+o=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/85.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;5ZRIvUPb7JAleKvudEFFN3JzGFs=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/arrow.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;1kAV+4iRNlDLKxLcTMqLEI/nE44=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/cover.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;wVRqxUEGa72CLvp3gELhNl/hGd4=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/Images/logo.jpg"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;N+jetA6+F1aMcxZWSz4gsVTd/RI=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/page-template.xpgt"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;IsLznQ9s7CofXB0FiNgDzeidLlU=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/pdlmsr.css"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;ynLcCk5L4BpN8hi5bqbcG4/qXdE=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="OEBPS/toc.ncx"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;atd0UMEQVpZFQ9aJmOjvtunODsQ=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;d:Reference URI="META-INF/encryption.xml"&gt;
&lt;d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/&gt;
&lt;d:DigestValue&gt;VZSsMfRCLdBiczUDo4ff9encxfw=
&lt;/d:DigestValue&gt;
&lt;/d:Reference&gt;
&lt;/d:SignedInfo&gt;
&lt;d:SignatureValue&gt;XMfQpn7tf68BVrG2sjiIsPGseiI=
&lt;/d:SignatureValue&gt;
&lt;d:KeyInfo&gt;
&lt;d:KeyName&gt;1
&lt;/d:KeyName&gt;
&lt;/d:KeyInfo&gt;
&lt;/d:Signature&gt;
&lt;/c:signatures&gt;
</pre>
</blockquote>
<p>&#8220;encryption.xml&#8221;は、本の中身の暗号化の情報を持っています。</p>
<blockquote>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;c:encryption xmlns:c="urn:oasis:names:tc:opendocument:xmlns:container"
 xmlns:d="http://www.w3.org/2000/09/xmldsig#"
 xmlns:e="http://www.w3.org/2001/04/xmlenc#"&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/page-template.xpgt"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/pdlmsr.css"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_cov.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_tp01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ded01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_toc.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_fm01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_fm02.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_pt01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch02.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch03.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch04.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_pt02.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch05.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch06.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch07.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch08.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch09.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch10.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_pt03.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch11.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch12.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch13.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch14.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch15.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ch16.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_bm01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_bm02.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_bm03.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_bm04.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_bm05.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ack01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ind01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_ata01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_adc01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_cre01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/free_cop01.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/footnote1.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/footnote2.html"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/logo.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/19.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/arrow.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/21.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/23.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/25.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/26.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/28.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/60.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/81.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/85.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/104.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/113.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/115.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/117.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/122.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/141.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/160.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/166.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/185.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/188.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
 &lt;e:EncryptedData&gt;
 &lt;e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/&gt;
 &lt;d:KeyInfo&gt;
 &lt;d:KeyName&gt;1&lt;/d:KeyName&gt;
 &lt;/d:KeyInfo&gt;
 &lt;e:CipherData&gt;
 &lt;e:CipherReference URI="OEBPS/Images/cover.jpg"/&gt;
 &lt;/e:CipherData&gt;
 &lt;/e:EncryptedData&gt;
&lt;/c:encryption&gt;
</pre>
</blockquote>
<p>そして独自ファイルである&#8221;sinf.xml&#8221;。内容を見るとfairplayという文字が見えるので、AppleのDRMに関連するファイルなのだと思います。</p>
<blockquote>
<pre>&lt;?xml version="1.0"?&gt;
&lt;policy xmlns:fairplay="http://itunes.apple.com/ns/epub"&gt;
 &lt;fairplay:sinf&gt;
 &lt;fairplay:sID&gt;1&lt;/fairplay:sID&gt;
 &lt;fairplay:sData&gt;...xxx...&lt;/fairplay:sData&gt;
 &lt;/fairplay:sinf&gt;
&lt;/policy&gt;
</pre>
</blockquote>
<p>以上が&#8221;META-INF&#8221;内の各ファイルの内容。&#8221;META-INF&#8221;についての詳細は<a href="http://naoki.sato.name/ocf/ocf_1_0_spec_ja.html">こちらの仕様書</a>を参照下さい。</p>
<p>続いて、実際の本の中身が入れられている&#8221;OEBPS&#8221;フォルダ。この中には、EPUBの骨格である&#8221;free.opf&#8221;ファイルと、目次用の&#8221;toc.ncx&#8221;ファイル、そして暗号化された章ごとのHTMLファイルや画像などが入っています。</p>
<p>&#8220;free.opf&#8221;の内容は次の通り。</p>
<blockquote>
<pre>&lt;?xml version="1.0"?&gt;
&lt;package xmlns="http://www.idpf.org/2007/opf" unique-identifier="ISBN" version="2.0"&gt;
 &lt;metadata xmlns:dc="http://purl.org/dc/elements/1.1/" 

 xmlns:dcterms="http://purl.org/dc/terms/"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xmlns:opf="http://www.idpf.org/2007/opf"&gt;
 &lt;dc:title&gt;Free&lt;/dc:title&gt;
 &lt;dc:language&gt;en&lt;/dc:language&gt;
&lt;dc:identifier id="ISBN" opf:scheme="9781401394516"&gt;9781401394516&lt;/dc:identifier&gt;
 &lt;dc:creator&gt;Chris Anderson&lt;/dc:creator&gt;
 &lt;dc:contributor&gt;Chris Anderson&lt;/dc:contributor&gt;
 &lt;dc:publisher&gt;Hyperion&lt;/dc:publisher&gt;
 &lt;dc:rights&gt;Copyright  2009 Chris Anderson&lt;/dc:rights&gt;
 &lt;/metadata&gt;
 &lt;manifest&gt;
 &lt;item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml" /&gt;
 &lt;item id="pt" href="page-template.xpgt" media-type="application/vnd.adobe.page-template+xml" /&gt;
 &lt;item id="msrcss" href="pdlmsr.css" media-type="text/css" /&gt;
 &lt;item id="cov" href="free_cov.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="tp01" href="free_tp01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ded01" href="free_ded01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="toc" href="free_toc.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="fm01" href="free_fm01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="fm02" href="free_fm02.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch01" href="free_ch01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="pt01" href="free_pt01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch02" href="free_ch02.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch03" href="free_ch03.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch04" href="free_ch04.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="pt02" href="free_pt02.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch05" href="free_ch05.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch06" href="free_ch06.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch07" href="free_ch07.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch08" href="free_ch08.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch09" href="free_ch09.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch10" href="free_ch10.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="pt03" href="free_pt03.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch11" href="free_ch11.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch12" href="free_ch12.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch13" href="free_ch13.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch14" href="free_ch14.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch15" href="free_ch15.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ch16" href="free_ch16.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="bm01" href="free_bm01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="bm02" href="free_bm02.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="bm03" href="free_bm03.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="bm04" href="free_bm04.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="bm05" href="free_bm05.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ack01" href="free_ack01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ind01" href="free_ind01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="ata01" href="free_ata01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="adc01" href="free_adc01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="cre01" href="free_cre01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="cop01" href="free_cop01.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="footnote1" href="footnote1.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="footnote2" href="footnote2.html" media-type="application/xhtml+xml" /&gt;
 &lt;item id="image_0001" href="Images/logo.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0002" href="Images/19.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0003" href="Images/arrow.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0004" href="Images/21.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0005" href="Images/23.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0006" href="Images/25.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0007" href="Images/26.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0008" href="Images/28.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0009" href="Images/60.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0010" href="Images/81.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0011" href="Images/85.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0012" href="Images/104.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0013" href="Images/113.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0014" href="Images/115.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0015" href="Images/117.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0016" href="Images/122.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0017" href="Images/141.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0018" href="Images/160.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0019" href="Images/166.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0020" href="Images/185.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="image_0021" href="Images/188.jpg" media-type="image/jpeg" /&gt;
 &lt;item id="my-cover-image" href="Images/cover.jpg" media-type="image/jpeg" /&gt;
 &lt;/manifest&gt;
 &lt;spine toc="ncx"&gt;
 &lt;itemref idref="cov" /&gt;
 &lt;itemref idref="tp01" /&gt;
 &lt;itemref idref="ded01" /&gt;
 &lt;itemref idref="toc" /&gt;
 &lt;itemref idref="fm01" /&gt;
 &lt;itemref idref="fm02" /&gt;
 &lt;itemref idref="ch01" /&gt;
 &lt;itemref idref="pt01" /&gt;
 &lt;itemref idref="ch02" /&gt;
 &lt;itemref idref="ch03" /&gt;
 &lt;itemref idref="ch04" /&gt;
 &lt;itemref idref="pt02" /&gt;
 &lt;itemref idref="ch05" /&gt;
 &lt;itemref idref="ch06" /&gt;
 &lt;itemref idref="ch07" /&gt;
 &lt;itemref idref="ch08" /&gt;
 &lt;itemref idref="ch09" /&gt;
 &lt;itemref idref="ch10" /&gt;
 &lt;itemref idref="pt03" /&gt;
 &lt;itemref idref="ch11" /&gt;
 &lt;itemref idref="ch12" /&gt;
 &lt;itemref idref="ch13" /&gt;
 &lt;itemref idref="ch14" /&gt;
 &lt;itemref idref="ch15" /&gt;
 &lt;itemref idref="ch16" /&gt;
 &lt;itemref idref="bm01" /&gt;
 &lt;itemref idref="bm02" /&gt;
 &lt;itemref idref="bm03" /&gt;
 &lt;itemref idref="bm04" /&gt;
 &lt;itemref idref="ack01" /&gt;
 &lt;itemref idref="bm05" /&gt;
 &lt;itemref idref="ind01" /&gt;
 &lt;itemref idref="ata01" /&gt;
 &lt;itemref idref="adc01" /&gt;
 &lt;itemref idref="cre01" /&gt;
 &lt;itemref idref="cop01" /&gt;
 &lt;itemref idref="footnote1" /&gt;
 &lt;itemref idref="footnote2" /&gt;
 &lt;/spine&gt;
 &lt;guide&gt;
 &lt;reference type="cover" title="Cover Image" href="free_cov.html" /&gt;
 &lt;/guide&gt;
&lt;/package&gt;
</pre>
</blockquote>
<p>そして&#8221;toc.ncx&#8221;。</p>
<blockquote>
<pre>&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
 "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd"&gt;
&lt;ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1"&gt;
 &lt;head&gt;
 &lt;meta name="dtb:uid" content="c98702cc-1def-4789-9366-18d8bdf83710"/&gt;
 &lt;meta name="dtb:depth" content="1"/&gt;
 &lt;meta name="dtb:totalPageCount" content="0"/&gt;
 &lt;meta name="dtb:maxPageNumber" content="0"/&gt;
 &lt;/head&gt;
 &lt;docTitle&gt;
 &lt;text&gt;Free&lt;/text&gt;
 &lt;/docTitle&gt;
&lt;navMap&gt;
&lt;navPoint id="navpoint-1" playOrder="1"&gt;&lt;navLabel&gt;&lt;text&gt;Cover&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_cov.html"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-2" playOrder="2"&gt;&lt;navLabel&gt;&lt;text&gt;Title Page&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_tp01.html"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-3" playOrder="3"&gt;&lt;navLabel&gt;&lt;text&gt;Dedication&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ded01.html"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-4" playOrder="4"&gt;&lt;navLabel&gt;&lt;text&gt;Contents&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_toc.html"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-5" playOrder="5"&gt;&lt;navLabel&gt;&lt;text&gt;List of Sidebars&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_fm01.html#fm01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-6" playOrder="6"&gt;&lt;navLabel&gt;&lt;text&gt;Prologue&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_fm02.html#fm02"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-7" playOrder="7"&gt;&lt;navLabel&gt;&lt;text&gt;1&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch01.html#ch01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-8" playOrder="8"&gt;&lt;navLabel&gt;&lt;text&gt;What Is Free?&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_pt01.html#pt01"/&gt;
&lt;navPoint id="navpoint-9" playOrder="9"&gt;&lt;navLabel&gt;&lt;text&gt;2&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch02.html#ch02"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-10" playOrder="10"&gt;&lt;navLabel&gt;&lt;text&gt;3&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch03.html#ch03"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-11" playOrder="11"&gt;&lt;navLabel&gt;&lt;text&gt;4&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch04.html#ch04"/&gt;&lt;/navPoint&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-12" playOrder="12"&gt;&lt;navLabel&gt;&lt;text&gt;Digital Free&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_pt02.html#pt02"/&gt;
&lt;navPoint id="navpoint-13" playOrder="13"&gt;&lt;navLabel&gt;&lt;text&gt;5&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch05.html#ch05"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-14" playOrder="14"&gt;&lt;navLabel&gt;&lt;text&gt;6&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch06.html#ch06"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-15" playOrder="15"&gt;&lt;navLabel&gt;&lt;text&gt;7&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch07.html#ch07"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-16" playOrder="16"&gt;&lt;navLabel&gt;&lt;text&gt;8&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch08.html#ch08"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-17" playOrder="17"&gt;&lt;navLabel&gt;&lt;text&gt;9&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch09.html#ch09"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-18" playOrder="18"&gt;&lt;navLabel&gt;&lt;text&gt;10&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch10.html#ch10"/&gt;&lt;/navPoint&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-19" playOrder="19"&gt;&lt;navLabel&gt;&lt;text&gt;Freeconomics and the Free World&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_pt03.html#pt03"/&gt;
&lt;navPoint id="navpoint-20" playOrder="20"&gt;&lt;navLabel&gt;&lt;text&gt;11&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch11.html#ch11"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-21" playOrder="21"&gt;&lt;navLabel&gt;&lt;text&gt;12&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch12.html#ch12"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-22" playOrder="22"&gt;&lt;navLabel&gt;&lt;text&gt;13&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch13.html#ch13"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-23" playOrder="23"&gt;&lt;navLabel&gt;&lt;text&gt;14&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch14.html#ch14"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-24" playOrder="24"&gt;&lt;navLabel&gt;&lt;text&gt;15&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch15.html#ch15"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-25" playOrder="25"&gt;&lt;navLabel&gt;&lt;text&gt;16&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ch16.html#ch16"/&gt;&lt;/navPoint&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-26" playOrder="26"&gt;&lt;navLabel&gt;&lt;text&gt;Coda&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_bm01.html#bm01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-27" playOrder="27"&gt;&lt;navLabel&gt;&lt;text&gt;Free Rules&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_bm02.html#bm02"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-28" playOrder="28"&gt;&lt;navLabel&gt;&lt;text&gt;Freemium Tactics&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_bm03.html#bm03"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-29" playOrder="29"&gt;&lt;navLabel&gt;&lt;text&gt;Fifty Business Models Built on Free&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_bm04.html#bm04"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-30" playOrder="30"&gt;&lt;navLabel&gt;&lt;text&gt;Acknowledgments&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ack01.html#ack01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-31" playOrder="31"&gt;&lt;navLabel&gt;&lt;text&gt;Searchable Terms&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ind01.html#ind01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-32" playOrder="32"&gt;&lt;navLabel&gt;&lt;text&gt;About the Author&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_ata01.html#ata01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-33" playOrder="33"&gt;&lt;navLabel&gt;&lt;text&gt;Other Books by Chris Anderson&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_adc01.html#adc01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-34" playOrder="34"&gt;&lt;navLabel&gt;&lt;text&gt;Credits&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_cre01.html#cre01"/&gt;&lt;/navPoint&gt;
&lt;navPoint id="navpoint-35" playOrder="35"&gt;&lt;navLabel&gt;&lt;text&gt;Copyright&lt;/text&gt;&lt;/navLabel&gt;&lt;content src="free_cop01.html#cop01"/&gt;&lt;/navPoint&gt;
&lt;/navMap&gt;
&lt;/ncx&gt;
</pre>
</blockquote>
<p>この辺りはある程度EPUBについて調べている方であれば見覚えがあるのではないでしょうか？</p>
<p>Kindle等とは異なり、EPUBはオープンフォーマットなので当然ではあるのですが、iBookstore独自のものはDRM程度で、ファイルの構成も内容もEPUBの仕様書通りになっているという印象です。</p>
<p>ということは、EPUBの仕様書通りにファイルを構成すれば、iPadのiBooksで読める本が作成出来るということ。</p>
<p>この&#8221;Free&#8221;の構成・各ファイルの内容や、あるいは<a href="http://naoki.sato.name/lab/archives/45">以前書いたこちらの記事</a>、より詳細を知りたければ高瀬さんの<span style="color: #2c0eee;"><a href="http://lost_and_found.lv9.org/ops/ops_2.0_final_spec_ja.html">Open  Publication Structure (OPS)日本語訳</a>、</span><span style="color: #2c0eee;"><a href="http://lost_and_found.lv9.org/opf/opf_2.0_final_spec_ja.html">Open  Packaging Format (OPF)日本語訳</a><span style="color: #000000;"> </span></span><a href="http://naoki.sato.name/ocf/ocf_1_0_spec_ja.html">OEBPS Container Format (OCF) 1.0 日本語版</a>等を参考に、これからの標準になるであろうEPUBの電子書籍を作ってみてはいかがでしょうか？</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/163/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/163" />
	</item>
		<item>
		<title>ScanSnap から作成した連番画像ファイルを簡単にePubに変換する -Windows編-</title>
		<link>http://naoki.sato.name/lab/archives/159</link>
		<comments>http://naoki.sato.name/lab/archives/159#comments</comments>
		<pubDate>Mon, 12 Apr 2010 11:40:39 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[aozorabunko]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=159</guid>
		<description><![CDATA[先日の記事で、Mac上で連番画像をePubに変換する方法をご紹介しましたが、同じことをWindows上で行う方法を説明した記事を発見したのでご紹介。
お先に！iPadのためにePubを作成する方法 &#124; EeePC カフェ [...]]]></description>
			<content:encoded><![CDATA[<p>先日の記事で、Mac上で<a href="http://naoki.sato.name/lab/archives/153">連番画像をePubに変換する方法</a>をご紹介しましたが、同じことをWindows上で行う方法を説明した記事を発見したのでご紹介。</p>
<p><a href="http://tyororin.blog80.fc2.com/blog-entry-617.html">お先に！iPadのためにePubを作成する方法 | EeePC カフェ</a></p>
<p>こちらの記事によると、Windowsには<a href="http://no722.cocolog-nifty.com/blog/chainlp/index.html">連番画像を電子ブック形式ファイル(LRF、PDF、ePub、Mobi)に変換してくれるChainLP</a>というツールがあり、このツールを利用するとお手軽にePubを作成出来るようです。</p>
<blockquote><p>連番画像を指定サイズにリサイズし、画像だけの電子ブック形式ファイル(LRF、PDF、ePub、Mobi)として出力します。連番ファイルやZIP、 LHaを作成することもできます。</p>
<p>青空文庫形式のテキストファイルを縦書き画像に変換することもできます。このとき、テキスト印刷を通じてPDF仮想プリンタにテキストデータを送りこんで、フォント埋め込みのPDFを出力することもできます。</p></blockquote>
<p>画像のコントラスト調整等もでき、リサイズもでき、いろいろなフォーマットに出力可能。すばらしいです。WindowsならこのツールとScanSnapで十分ではないでしょうか。</p>
<p>こちらの<a href="http://no722.cocolog-nifty.com/blog/">No. 722</a>さんですが、他にもいろいろなツールを作成されていらっしゃるので、特にWindowsの方はぜひ一度チェックしてみて下さい。</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/159/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/159" />
	</item>
		<item>
		<title>ScanSnapから作成した連番画像ファイルを1クリック(+α)でePubに変換する -Mac編-</title>
		<link>http://naoki.sato.name/lab/archives/153</link>
		<comments>http://naoki.sato.name/lab/archives/153#comments</comments>
		<pubDate>Mon, 05 Apr 2010 13:42:34 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=153</guid>
		<description><![CDATA[先日の連番画像ファイルからePubを作成するの続きです。
先日の記事ではePubを作成するシェルスクリプトを公開しましたが、いちいちターミナルからスクリプトを実行するのも面倒なので、AppleScriptを使ってFind [...]]]></description>
			<content:encoded><![CDATA[<p>先日の<a href="http://naoki.sato.name/lab/archives/142">連番画像ファイルからePubを作成する</a>の続きです。</p>
<p>先日の記事ではePubを作成するシェルスクリプトを公開しましたが、いちいちターミナルからスクリプトを実行するのも面倒なので、AppleScriptを使ってFinderからスクリプトを呼出し、Finderで開いているフォルダ内の連番画像をePubに変換するアプリケーションを用意しました。AppleScriptですので、Mac専用です。</p>
<p><a href="http://naoki.sato.name/epubunco/epubsh.dmg">連番画像ファイル-&gt;ePub作成アプリケーション</a></p>
<p>簡単な使い方は以下の通り。なお、未検証ですが連番画像のファイル名に日本語が含まれていると上手くいかないかも知れませんので、ファイル名は英数字のみにしておいた方が無難だと思います。</p>
<ol>
<li>自分のホームディレクトリに &#8220;bin&#8221; フォルダを作成します。</li>
<li>dmgに入っている &#8220;epubsh.sh&#8221; を1.で作成した &#8220;bin&#8221; フォルダにコピーします。</li>
<li>dmgに入っている &#8220;epubsh.app&#8221; を任意の場所 (&#8220;bin&#8221; や &#8220;アプリケーション&#8221; をおすすめします) にコピーし、DockもしくはFinderのツールバーに登録します。</li>
<li>ePubに変換したい一連の画像のあるディレクトリを最前面のFinderで開いた状態にし、3.で登録した &#8220;epubsh.sh&#8221; を実行します。</li>
<li>タイトル、著者を入力するダイアログが表示されるので、それらを入力します。</li>
<li>暫く待つと、画像と同じディレクトリに &#8220;タイトル.epub&#8221; という名前でePubファイルが作成されます。</li>
</ol>
<p>以上です。いつも通り検証不十分ですので、At Your Own Riskでお願いします。コメント等々ございましたら<a href="http://twitter.com/naokisatoname">@naokisatoname</a>宛に頂けると幸いです。</p>
<p>以下、スクリーンショット付きの詳細説明とスクリプトのソース。</p>
<p><span id="more-153"></span></p>
<h3>詳細設定手順</h3>
<p>ここでは、以前ScanSnapからPDF形式で電子化し、今回検証のためにjpgで画像を抽出した<a href="http://www.amazon.co.jp/gp/product/4840120722?ie=UTF8&amp;tag=naokisatoname-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4840120722">新海誠さんの小説・秒速5センチメートル</a>を使用しています(連番画像ファイル名は &#8220;5cm_xxx.jpg&#8221;)。</p>
<ol>
<li>上のリンクから<a href="http://naoki.sato.name/epubunco/epubsh.dmg">dmgファイル</a>をダウンロードします。</li>
<li>Finder上でダブルクリックし、マウントします。</li>
<li>中に &#8220;epubsh.app&#8221; と &#8220;epubsh.sh&#8221; の2ファイルが入っていることを確認します。</li>
<li>自分のホームディレクトリに &#8220;bin&#8221; フォルダを作成します。</li>
<li>dmgに入っている &#8220;epubsh.app&#8221; と &#8220;epubsh.sh&#8221; を &#8220;bin&#8221; フォルダにコピーします。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_1.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_1-300x169.png" title="20100405_1" width="300" height="169" class="alignnone size-medium wp-image-146" /></a></li>
<li>&#8220;epubsh.app&#8221; をDockもしくはFinderのツールバーに登録します。個人的にはFinderのツールバーの方が使い易い気がします。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_2.jpg"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_2-300x68.jpg" title="20100405_2" width="300" height="68" class="alignnone size-medium wp-image-147" /></a></li>
<li>連番画像ファイルをおいたディレクトリをFinderで表示します。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_3.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_3-300x169.png" title="20100405_3" width="300" height="169" class="alignnone size-medium wp-image-148" /></a></li>
<li>先ほど登録した &#8220;epubsh.app&#8221; をクリックして実行します。</li>
<li><em>Book Title:</em> というダイアログが表示されるので、本のタイトルを入力します。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_4.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_4-300x124.png" title="20100405_4" width="300" height="124" class="alignnone size-medium wp-image-154" /></a></li>
<li><em>Book Author:</em> というダイアログが表示されるので、本の著者を入力します。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_5.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_5-300x124.png" title="20100405_5" width="300" height="124" class="alignnone size-medium wp-image-155" /></a></li>
<li>OKをクリックして暫く待つと、Finderで開いていた、画像と同じディレクトリに &#8220;タイトル.epub&#8221; というePub形式のファイルが作成されます。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_6.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_6-300x169.png" title="20100405_6" width="300" height="169" class="alignnone size-medium wp-image-151" /></a></li>
<li>後はePubを表示して読書を楽しみましょう。<br />
<a href="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_7.png"><img src="http://naoki.sato.name/lab/wp-content/uploads/2010/04/20100405_7-300x198.png" title="20100405_7" width="300" height="198" class="alignnone size-medium wp-image-152" /></a></li>
</ol>
<h3>ソースファイル</h3>
<p>AppleScriptおよびsh Scriptのソースです。基本的にdmgファイルの内容と同様です。ダウンロードが上手くいかない際は、右クリックでファイル名を指定して保存して下さい。</p>
<ul>
<li><a href="http://naoki.sato.name/epubunco/epubsh.scpt">AppleScript (2.6KB)</a></li>
<li><a href="http://naoki.sato.name/epubunco/epubsh.sh">sh Script (3.3KB)</a></li>
</ul>
<p>知識のある方、改変・修正はご自由に。その際は後学のため<a href="http://twitter.com/naokisatoname">@naokisatoname</a>までご連絡いただければ幸いです。</p>
<h4><span style="color: #ff6600;">※2010/04/08追記</span></h4>
<p>公開したスクリプトにバクがあったので、dmg、ソースとも置き換えました。</p>
<p>タイトルやパスにスペースが含まれていた際に正常に動作しない現象を修正しました。</p>
<h4><span style="color: #ff6600;">※ 2010/04/26追記</span></h4>
<p>dmg、ソースを再度置き換えました。</p>
<p>前回と同じく、タイトルやパスにスペースが含まれていた際に正常に動作しない不具合の修正です。</p>
<p><span style="color: #808080;">スクリプト内でディレクトリ名をクォートするのを忘れておりました。スミマセン…</span></p>
<h4><span style="color: #ff6600;">※  2010/05/09追記</span></h4>
<p>dmg、ソースを置き換えました。</p>
<p>作成されたePubがAppleのiBooksで開けないバグを修正しました。</p>
<p>ただし、iBooksでは画像のサイズを変更する指定が無効になるらしく、表示が崩れる可能性があります。</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;"><a href="../../epubunco/epubsh.sh">連番画像ファイル-&gt;ePub作成ス クリプト</a></div>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/153/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/153" />
	</item>
		<item>
		<title>連番画像ファイルからePubを作成する</title>
		<link>http://naoki.sato.name/lab/archives/142</link>
		<comments>http://naoki.sato.name/lab/archives/142#comments</comments>
		<pubDate>Sat, 03 Apr 2010 14:21:57 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=142</guid>
		<description><![CDATA[日本でのiPadの発売も近づき、USではiPadが発売され、俄然電子書籍に対する注目が高まっていると感じるこの頃。iPadのリリースにあわせてiTunesも9.1にバージョンアップされてePubファイルもiTunesで管 [...]]]></description>
			<content:encoded><![CDATA[<p>日本でのiPadの発売も近づき、USではiPadが発売され、俄然電子書籍に対する注目が高まっていると感じるこの頃。iPadのリリースにあわせてiTunesも9.1にバージョンアップされてePubファイルもiTunesで管理できるようになりました。</p>
<p>ただ、惜しむらくは書籍として認識されるのがePub形式のみという点。以前からPDFはiTunesで管理できましたが、書籍形式としては認識されず、このことからiPad上のiBooksではePub形式の電子書籍のみがサポートされることが予想されます。</p>
<p>海外の古い書籍であれば<a href="http://books.google.com/">Google Books</a>や<a href="http://www.gutenberg.org/wiki/Main_Page">Project Gutenberg</a>で入手できますし、日本の古典は<a href="http://naoki.sato.name/epubunco/bookmarklet.html">拙作のBookmarklet</a>を使えば<a href="http://www.aozora.gr.jp/">青空文庫</a>からePubを作成できることができます。しかし、現在紙の本から電子データを作成する上で最も一般的と思われるScanSnap (+裁断機)では、PDFを作ることはできてもePubは作成できず、このままではiPad (というかiBooks)で市販の書籍を読む事が難しそうです。</p>
<p>他方、ScanSnapでは連番画像ファイルとして電子データを保存できます。そこで、連番の画像ファイルからePubを作成するシェルスクリプトを書いてみました。</p>
<p><a href="http://naoki.sato.name/epubunco/epubsh.sh">連番画像ファイル-&gt;ePub作成スクリプト</a></p>
<p>べた書きの上にきちんとテストも行っていない状態なので、いつも通りAt Your Own Riskでお願いします。変更はご自由に。</p>
<p>以下、スクリプトの使用方法と説明です。</p>
<h3><span id="more-142"></span>前提</h3>
<ul>
<li>bashスクリプトなので、MacもしくはLinux等Unix系OSが必須です。</li>
<li>元画像ファイルは .jpg もしくは .png いずれかの形式・拡張子で、ファイル名は連番になっている必要があります。</li>
<li>スクリプトはターミナル・コンソールから実行する必要があります。</li>
</ul>
<h3>実行方法</h3>
<ol>
<li>任意のディレクトリにePubに変換する一連の連番画像ファイルとスクリプトファイル(epubsh.sh)を置きます。
<pre>$ ls .</pre>
<pre>  001.jpg</pre>
<pre>  002.jpg</pre>
<pre>  003.jpg</pre>
<pre>  epubsh.sh</pre>
</li>
<li>ターミナルで1.で画像、スクリプトを置いたディレクトリに移動します。
<pre>$ cd /home/user/hoge</pre>
</li>
<li>引数に書籍のタイトル、著者名を入力してスクリプトを実行します。
<pre>$ sh epubsh.sh タイトル 著者</pre>
</li>
<li>実行したディレクトリに&#8221;(書籍のタイトル).epub&#8221;というファイル名が作成されます。</li>
</ol>
<h3>動作確認</h3>
<p>Mac上のSony Reader Library、Stanza、iPhone上のStanza、Sony Readerで表示確認済み。</p>
<p>予想以上にiPhone上のStanzaで読めました。</p>
<h3>やっていること</h3>
<p>基本的に<a href="http://naoki.sato.name/lab/archives/45">以前ポストしたePub形式のファイル構成</a>に従って必要なファイルを作成し、パッケージ化しているだけです。</p>
<ul>
<li>画像ファイルを/tmp以下の作業フォルダにコピー</li>
<li>各画像ファイルを表示するためのhtmlファイルを作成</li>
<li>CSSで画像ファイルをheight=100%、text-align=centerに</li>
<li>ePub用のファイルを作成</li>
<li>ePub用のフォルダ構成に設定</li>
<li>zipでePub形式を作成</li>
<li>ePubを作業フォルダからカレントフォルダに移動</li>
<li>作業フォルダを削除</li>
</ul>
<h3>今後は…</h3>
<p>正直な所、今後書籍の電子化をPDF形式にするべきかePub形式にするべきかは分かりかねるところです。</p>
<p>PDFは既に広く一般化していて、電子書籍としてだけではなくMac等ではOSレベルでサポートされているものの、iPadやE-Bookリーダでのサポートが弱い。</p>
<p>ePubはiPadのiBooksでも標準サポートされ、主要なE-Bookリーダでサポートされるものの、Mac等で扱いにくい。</p>
<p>実は画像ファイルで電子化しておくのが一番汎用的なのかも知れません。</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/142/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/142" />
	</item>
		<item>
		<title>PDFのタイトル、著者を一括変更するlrf-epub-tools</title>
		<link>http://naoki.sato.name/lab/archives/94</link>
		<comments>http://naoki.sato.name/lab/archives/94#comments</comments>
		<pubDate>Tue, 02 Feb 2010 01:42:12 +0000</pubDate>
		<dc:creator>naoki</dc:creator>
				<category><![CDATA[ebooks]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://naoki.sato.name/lab/?p=94</guid>
		<description><![CDATA[使い様によっては非常に便利なツールです。
Sony ReaderやKindleはPDFをサポートしているので、PDFファイルをそれらのリーダに入れれば読むことができます。その際(少なくともSony Readerでは)PD [...]]]></description>
			<content:encoded><![CDATA[<p>使い様によっては非常に便利なツールです。</p>
<p>Sony ReaderやKindleはPDFをサポートしているので、PDFファイルをそれらのリーダに入れれば読むことができます。その際(少なくともSony Readerでは)PDFのメタデータに登録されているタイトルや著者がそのままTitle, Authorとなるので、PDFのメタデータをきちんと設定しておかないと、書籍を管理するのが大変になります。また、Sony Readerでは、<a href="http://naoki.sato.name/lab/archives/45">本文中では日本語が表示できるものの</a>、Home画面や書籍一覧の画面では日本語が表示されないため、タイトルや著者が日本語のPDFは事前に修正しておくことが不可欠です。</p>
<p>このPDFのメタデータはAcrobat等を使えば編集できるものの、<span style="text-decoration: line-through;">一括編集はできないので</span>(<span style="color: #ff0000;">訂正。</span>バッチ処理とJavaScriptを組み合わせれば一括編集出来そうです。AcrobatのJavaScriptの仕様書は<a href="http://www.adobe.com/devnet/acrobat/javascript.html">こちら</a>です)、例えば<a href="http://a2k.aill.org/">青空キンドル</a>である著者の本をたくさんPDFにしてそれらを編集する場合等はそれなりに大変な作業になります。一括して編集するスクリプトを作成すれば良い訳ですが、コマンドラインからPDFを扱う定番ツール<a href="http://www.accesspdf.com/pdftk/">PDFTK</a>は残念ながらMacOSX 10.6に対応しておらず、portからもソースからのビルドも失敗してしまいます。</p>
<p>このような場合に便利なのが<a href="http://code.google.com/p/lrf-epub-tools/">lrf-epub-tools</a>。本来はLRFをEPUBやPDF等に変換するJavaプログラムなのですが、その機能の一つに、<span style="text-decoration: underline;">ファイル名が&#8221;</span><em><span style="text-decoration: underline;">著者名</span></em><span style="text-decoration: underline;">-</span><em><span style="text-decoration: underline;">タイトル</span></em><span style="text-decoration: underline;">.pdf&#8221;となっているPDFファイルに対して著者名、タイトルを設定する</span>というものがあり、これと<a href="http://www.manytricks.com/namemangler/">ファイル名を編集するユーティリティ</a>を組み合わせることで大量のPDFのメタデータを容易に編集・修正することが可能です。実際に試してみたところ、ASCIIはもちろん、日本語も文字化けすることなくタイトル・著者に反映されました。</p>
<p><a href="http://code.google.com/p/lrf-epub-tools/">lrf-epub-tools : Convert LRF (Sony BeBB) files to EPUB, PDF, RTF, and HTML. Also converts PDF and DOCX to EPUB.</a></p>
<p>また、まだ試してはいませんがPDFをePubに変換する機能もあるようです。</p>
<p>詳細な使い方は<a href="http://code.google.com/p/lrf-epub-tools/">プロジェクトページ</a>を参照して下さい。</p>
]]></content:encoded>
			<wfw:commentRss>http://naoki.sato.name/lab/archives/94/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://naoki.sato.name/lab/archives/94" />
	</item>
	</channel>
</rss>
