今回は、電子書籍を作る際のInDesignによる自動レイアウト処理について説明します。原稿を書いて校正ソフトで校正した後、InDesignで自動レイアウト処理を行います。自動レイアウトと言っても、実際にはピンキリです。洋書の技術書籍のように文字を流し込んだだけのものもあれば、日本の雑誌のように非常に複雑なレイアウトのものまであります。
最初から複雑なものに挑戦すると失敗するので、なるべく簡単なレイアウトにしました。ただ、文字ばかりというわけにはいかず図も必要になりますし、実行結果の画面キャプチャーなども必要になります。図や表が絡むと、どうしてもレイアウトするスクリプトが複雑になってしまいます。例えば、文章の右側に図を配置する、図版にテキストを回り込ませる、などなど。
最初から複雑なものに挑戦すると失敗するので、なるべく簡単なレイアウトにしました。ただ、文字ばかりというわけにはいかず図も必要になりますし、実行結果の画面キャプチャーなども必要になります。図や表が絡むと、どうしてもレイアウトするスクリプトが複雑になってしまいます。例えば、文章の右側に図を配置する、図版にテキストを回り込ませる、などなど。
そういうことをやっているとキリがないので、割り切って全てインラインで図を配置することにしました。表に関しては、もともとインラインですから問題ありません。このようにすれば、タグ付けされたテキストを流し込んでおき、図版部分だけインライン画像に置き換えれば済みます。スクリプトも簡単で、図の配置位置も気にする必要はありません。
それから、できあがったPDFには図が並んでいる部分がありますが、これはPhotoshopで図を横に並べているだけです。仕掛けとしては、かなりガッカリするオチでしょう。
自動レイアウトで解決できず手作業でやっても、どうもうまくいかなかった部分もあります。それはハイパーリンクです。日本語のWikipediaに自動的にリンクさせたかったのですが、URLに日本語が含まれると、その直前までがURLと見なされてしまい、うまく処理できませんでした。エンコードしてもうまくいかず、一部ハイパーリンクしないようにしてあります(このハイパーリンクはネタとして今年のデジクリ原稿に用意してあります)。
この自動レイアウトが正しく処理されるかどうかは、前段階のスクリプトに大きく依存します。特にタグ付けに関しては、執筆時になるべくタグを使わないということで、スクリプトで文章の先頭文字で判断したり、改行がいくつ続いたかで普通の文章なのか、見出しなのか、それともソースコード(プログラム)なのかを判断しています。もっとも、これにより期待するレイアウトでなくなってしまう部分もありました。さすがに、おかしな部分に関しては手作業で修正してあります。
最後に、PDFとして書き出せば完成です。KindleやiPhoneなどはPDFを読めますし、パソコンでもPDFを見ることができます。電子書籍のフォーマットはいくつかありますが、PDFがもっとも無難かもしれません。
自動レイアウトを行うスクリプトのおかげで、1ページあたり3〜4秒で処理が行えるようになりました。これはMac Proでの時間なので、Windowsの方がもっと高速に処理されるかもしれません。
人間は1ページあたり3〜4秒でレイアウトすることはできないので、非常に早く処理されていいなあと思うかも知れません。しかし、ページ数が800ページ以上になると、実際にレイアウトが終わるまで非常に時間がかかります。章ごとに分かれているのですが、トータルでは40〜50分もかかります。4〜5分なら待てそうですが、40〜50分にもなると長い待ち時間です。CPUがマルチコアになっても、InDesign CS3はCPUをひとつしか使わないので、大きなメリットがありません。もっとも、DTPの場合、今のマシンはオーバースペックなのでAdobeも、そこまで処理速度を求めないのかもしれませんが。
電子書籍を作りたいのであれば、テキストエディタでもワードでもエクセルでも、何で作ってもよいでしょう。PDF等に変換できれば、それで十分だからです。ちょっとしたものなら、専用ソフトも販売されています。特に怪しげなものがあふれている情報商材に関しては、そのようなものがほとんどです(実際にいくつか買ってみた)。
・メディアパブリッシャー(Windowsのみ)
< http://www.seasidesoft.net/s3publisher/s3publisher.html
>
電子書籍も個人で販売できるようになって、怪しいものやあまりにひどいものが多くなれば、誰も買わなくなってしまう可能性もあります。そこらへんがどうなるかは、まだわかりませんが......
品質を保つという意味では出版社や編集者の力は必要でしょう。
次回は電子書籍編の最終回、販売について説明します。
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
〈発売中〉
「Adobe Illustrator CS3 + JavaScript 自動化サンプル集」
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/
>
PAGE2010でも電子書籍ネタがあったようで。DTPの作業/確認が増えるだけで儲からない雰囲気も。
< http://www.jagat.jp/content/section/14/366/
>
毎度おなじみASCII.jpの連載もよろしく。
JavaScriptでRSSからPhotoshop画像を生成!
< http://ascii.jp/elem/000/000/494/494502/
>
新JavaScript例文辞典にはHTML 5関連のFile APIやGeo Locationのサンプルも追加。
< http://www.openspc2.org/reibun/javascript2/index.html
>

- 改訂第4版 JavaScript ポケットリファレンス
- 技術評論社 2006-10-18
- おすすめ平均
実用的で分かり易い
JavaScriptを使ったプロジェクトのお供に是非
JavaScript仮免者以上の方へ
バランスの良いバイブル
中級者向けです。

- Ext JS入門―リッチUIなWebサイトをつくるAjaxフレームワーク
- 秀和システム 2009-07
- おすすめ平均
最初の数時間しか使えない本
唯一のExt JS本
by G-Tools , 2010/02/08