Archive for 6月, 2010

(失敗例)縦書きePub電子書籍を”涅槃”で作ったが、1ページ目しか表示されない

ePubで縦書きを実現しているページがあったので、私もチャレンジしてみました。 以下のページを参考にしました。 びば!もばいる!(+サーバ達)- ルビにCSS、縦書きにJavaScriptでやってみよう(ePub+iBooksでJavaScriptが動いた!) 【実験】「涅槃」を使って、EPUBファイルを縦組みで表示できるか? ≪ ECollab Ltd. 結果は、1ページ目しか表示されず、一部のルビもずれてしまいました。 ・画像1にあるように、行の最初に現れるルビは正しい位置なのですが、 行内の2番目に現れるルビは、下にずれてしまっています。 ・ページ末尾の”髯貯えぬ丸顔”のあとに”を傾けて「描けども、描けども” と続くはずですが、ここで表示が終わっています。 画面下のページ番号も、2までしかありません。 ファイルを、 http://bit.ly/bSo2la にアップロードしてみました。 ベースにしたのは、青空文庫のファイルを「青空文庫 (XHTML) -> ePub変換 Bookmarklet」 で、明朝体ルビありで変換したファイルです。 夏目漱石の「一夜」を使いました。http://www.aozora.gr.jp/cards/000148/card1086.html 縦書きのキモは、縦書き文庫さんの「涅槃」というJavaScriptです。 https://code.google.com/p/nehan/にあります。 縦書きにしたePubファイル内の構成は以下の通りです。 ~/mimetype ~/META-INF/container.xml ~/1086_14935.opf ~/1086_14935.ncx ~/OEBPS/1086_14935.html ~/OEBPS/default.css ~/OEBPS/css/kentenbosen/after/sen/*.png (縦書き用記号のpng画像ファイル) ~/OEBPS/css/kentenbosen/after/ten/*.png (縦書き用記号のpng画像ファイル) ~/OEBPS/images/*.png (表示できない文字のpng画像ファイル) ~/OEBPS/img/*.gif (涅槃用のgif画像ファイル)(今回追加) ~/OEBPS/js/nehan.js (涅槃のJavaScript)(今回追加) ~/OEBPS/js/nehan-min.js (涅槃のJavaScript)(今回追加) ~/OEBPS/js/plugins.js (涅槃のJavaScript)(今回追加) 手順は以下の通りです。 (1)*.epubファイルの拡張子をzipにして展開 (2)涅槃のファイルを上記のように配置 (3)~/1086_14935.opf に、今回追加した画像ファイルとJavaScriptを追記。 … <item id=”dash.gif” [...]

iPad 開発セミナー ~電子書籍アプリケーションを作る~ 参加メモ

MacやiPhone/iPadアプリの開発者が多く集まるmosa で、6/24に 電子書籍アプリケーションを作る開発者向けのセミナーが開催されました。 開発者として、現時点でどこまでできるのか気になったので、参加してきました。 iBooks ではなく、専用アプリとして電子書籍を作るには、 プログラム側ではどう実装するか?という内容で、技術者向けのセミナーでした。 http://www.mosa.gr.jp/?p=3395 【中級】iPad開発セミナー~電子書籍アプリケーションを作る~ MOSAでは、iPad向けアプリ開発をお考えの方を対象に、 電子書籍アプリのプログラミング方法を解説する中級セミナーを開催いたします。 以下は私の気になった点を中心にした参加メモです。 【アジェンダ】 ・概要 ・CoreTextによるページネーション。文字サイズとリフロー。 ・UIScrollViewによるページめくり。三面鏡。 ・OpenGLによるページめくり。iBooksみたいなめくり方にしたい! ・コンテンツ管理、セキュリティ。COmmonCryptライブラリとNSDataの新しいメソッド ・ストア。InAppPurchase それぞれサンプルコードあり。 【概要】 ・標準フォーマット vs 独自フォーマット ・作者の思い通りに何でもできる。動画、インタラクティブ、iPadで出来る事なら何でも。 ・将来も動作するという安心感を与えるべき(OSやハードウェアのバージョンアップに対応できるのか、などはあらかじめ検討しておく) ・電子書籍アプリの3大機能は、(1)ビューア、(2)コンテンツ管理(含セキュリティ)、(3)ストア(課金) 【CoreTextによるページネーション】 (1)タグ付きファイルから、NSXMLParserでテキストを取り出す (2)NSAttributedStringオブジェクトで、フォントや行間や左寄せや単語で改行を指定する (3)CTFrameで領域を決める (4)領域内に表示する文字の範囲を得る (5)DrawRect, (CTDrawRect?)で文字を描画する (Q&Aより) ・禁則処理はデフォルトでサポートしているが、カスタマイズはできないようだ。 ・ルビは自前で一行ずつ描画する。ルビ、本文、ルビ、本文、、、 ・縦書きは、仕組みはあるが実用的ではない。 ・・縦書き用のグリフに変換(カッコやアラビア数字など) ・・点の位置がおかしくなる(?)ので、範囲選択しようとするとおかしくなる。 ・CoreGraphicsを使って、自分で描画エンジンを作るという方法もある。 【OpenGLによるページめくり】 ・あるとないとでは、アプリの完成度が全く違う。 ・UIViewAnimationTransitionCurlUpもあるが、細かい制御ができない ・CALayerでアフィン(線系)変換して積み重ねてもいいが、細かい部分が美しくできない。 ・そこで、OpenGLで、描画領域全体を1つの画像にして、OpenGLのテクスチャとして扱い、ポリゴンとして(変形して見えるように)描画する。 ・めくれて見える変換アルゴリズムは色々。3Dグラフィックの本を参照。 ・ページの表面で円錐を転がす方法の解説。 【コンテンツのセキュリティ】 ・ダウンロード型でも、ディスク上にキャッシュしたい。 ・スクリーンショット撮影は禁止できない。 ・利便性とセキュリティ強度の兼ね合い。説明してお客様と調整。 ・Common Crypt ライブラリ。 [...]

ePublishingPort の第1回勉強会に参加しました。「EPUBフォーマットへの変換方法を知ろう!」

6/23に渋谷で行われた、 ePublishingPort 第1回勉強会「EPUBフォーマットへの変換方法を知ろう!」 http://www.epub-port.jp/%e5%8b%89%e5%bc%b7%e4%bc%9a/100/ に参加してきました。 講師の方の話を聞き、最後に質疑応答という流れでした。 講師は様々なセミナーなどで電子書籍に関してお話をされている 学校法人 阿佐ヶ谷学園 高度情報化研究所 所長 境祐司 氏(http://admn.air-nifty.com/about.html)です。 以下、内容のメモです。 電子書籍のフォーマットとその周辺の紹介。 ・Epub vs PDF。epubは読みやすさや速読を優先。PDFはレイアウト優先。 ・epub作成の商用ツールは、検証用でも80万円とかするらしい。 試しに紙で出す本をepub化してみた時の、作業の流れの話し。 ・InDesignで作ってepubファイルに書き出し、Sigilで調整した。 ・見映えの確認は、iPad, iPhone, Stanza で行った。 ・Safariで、開発メニューから、iPad用のレンダリング・エンジンを選べる(らしい)。xhtmlなので、WEBブラウザでもだいたいは確認できる。 Sigilでやったのは、主に以下の作業。 ・CSSに無駄が多く、クラス名が長い物があったので、スリム化。 ・章区切りを入れる。ファイルが分割される。必ず改ページされるので、推理小説のように「次ページではんにんが!」のような場合に便利。目次にも反映される(?) ・メタデータを入れる。 Title, Author, Language。 iBooks用に、Subjectタグも入れる。カテゴリの意味である。入れないと「未分類」にされてしまう。 ・Sigilで新規ファイルを作成して、それにはめ込む場合は、コードビューにして、bodyタグ?内をコピペで貼り付けて、Imageフォルダ内に画像を突っ込めばよい。 質問タイム。 ・StanzaとiPadで余白などの見映えが違う。両対応するためには、両者の中間の値を使った。ブラウザハック的な事はしなかった。今後は統合コンテンツ管理システムがうまく各ビューアむけの調整をしてくれる事を期待している。 ・iPadでは画像が大きい場合には、縮小して表示される。サイズは大きめにして、width 100% で指定するとよい。 ・DRMの話し。 ・InDesignでのepub出力について。 CS3はひどかったという印象。CS4で良くなって、CS5はCS4と同じぐらい。 ・iTunes経由でiBooksに入れた時の「本のフォーマットが違います」で読めない件。みた事は無い。手打ちで作らず、ツール(Sigil)を使っている。 (会場のフォロー) ・圧縮時のフォルダ階層に注意。 ・MacのZip圧縮はWindowsと違い、圧縮してそのまま拡張子をepub に変えてもダメな場合がある。 ・マジックワードを使った判定をするなら、頭の文字や、mimetypeを無圧縮で見えるように配置するなどが必要。 ・epubファイルのバリデータがあるので、確認するとよい。 http://threepress.org/document/epub-validate (コアの部分は BSDライセンス。ローカルに配置すれば、部外秘なepubを検証する時に便利) 最後の、ePubファイルのどこがおかしいかを教えてくれるバリデータのWEBサイトは、 英語表示なものの、ePubファイルを自分で作る人にとっては、とても役に立つサイトだと思います。

iPadで「本のフォーマットエラー」になる時の原因と対処法-(2)対処

前回の記事で、iPadで「本のフォーマットエラー」になる時の原因を紹介しました。 今回の記事は対処方法を示します。 と言ってもWindowsパソコンの場合は、話は簡単です。 ePub作成ツールの「FUSEe」を使って、開いて、書き出すだけ治ります。 株式会社フューズネットワークが開発中の電子書籍オーサリングソフトウェアFUSEeを、 http://development.fusenetwork.co.jp/ からダウンロードしてインストールしてください。 インストールしたら、「本のフォーマットエラー」になるファイルを用意してください。 (1)「ファイル」-「ePubを開く」で、トラブルの出ているePubファイルを開きます。 (2)何も変更せず「ファイル」-「ePubに書き出し」でファイル名をつけて保存します。  「上書き保存」ではなく「ePubに書き出し」なので注意が必要です。 この2ステップで、無事にiPadのiBooksで見られるようになります。 国産でこういった気のきいたソフトがあるのが嬉しいですね。 おかしい時には、とりあえずFUSEeで「ePubに書き出し」を試す。というのは、 覚えておいて損は無いと思います。

iPadで「本のフォーマットエラー」になる時の原因と対処法-(1)原因

iPadのiBooksにepubファイルを登録して、読もうとした時に 「本のフォーマットエラー この本はフォーマットが認識できないか無効なため開けません。」 と表示されて開けない場合があります。 困るので、その原因を探ってみました。 具体的な修正方法は、次の記事にまとめます。 (1)mimetypeファイルにBOMが付いている Txt2ePubで変換した場合に発生します。 「mimetype」というファイルに「application/epub+zip」という20文字が入っています。 このファイルにBOMが付いていて、バイナリエディタで見ると、 先頭3バイトに「EF BB BF」がついていました。 (末尾に改行「0D 0A」が入っているのは問題ないようです) 仕様書3.4には、ASCII文字列で書かなければならないとあるので、 BOMは付けないのが正解ぽいです。 (参考)OEBPS Container Format (OCF) 1.0 http://naoki.sato.name/ocf/ocf_1_0_spec_ja.html http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm (2)XML宣言で「encoding=”UTF-8″」が抜けている iBooksのフォーマットエラー対策 http://club100.jp/indies/modules/d3blog/details.php?bid=20 にあるように、 — 読めない場合:<?xml version=”1.0″?> 読める場合 :<?xml version=”1.0″ encoding=”UTF-8″?> — と、XML宣言で「encoding=”UTF-8″」が抜けているケース。 epubエディタで抜けている物は見たことがありませんが、 メモ帳などで手打ちで作成している場合には、うっかり抜けてしまうかも知れません。 具体的な修正方法は、次の記事にまとめます。

OPDS – 電子書籍を目録から探し出す

OPDSは、電子書籍を配布したり探したりするときに便利なように、 書籍のタイトル名や著者名やカテゴリなどを、決まった形式で表現する ためのフォーマットです。 RSSフィードのように、ATOM+HTTPで構成されています。 http://opds-spec.org/specs/opds-catalog-0-9 http://code.google.com/p/openpub/wiki/CatalogSpecDraft まだドラフト版(0.9)ですが、今後電子書籍が(野良も含めて)大量に出た時には、 こういった「探すための仕組み」が必要になってくると思います。 ePubs.jp にもゆくゆくは実装したいので、上記のサイトを見て勉強中です。 以下は日本語の解説がないかググった結果のリンク集です。他にもありましたら教えてください。 第4回:クローズドなKindleに対抗勢力,ソニーやGoogleはオープンを標榜 http://techon.nikkeibp.co.jp/article/FEATURE/20100127/179683/ 昨日のPodcastでお話した「OPDS」は、日本の電子書籍目録サイト( )をイメージしていただくと良い・・・ – LifeSpaceTime http://monkeyish.lifespacetime.com/log/224944/ TOC 2010の資料を読んで http://hisashim.org/2010/04/11/toccon-memo.html Adobe等、電子書籍の目録配信に係るオープンな標準を策定中 Posted 2009年4月9日 http://current.ndl.go.jp/node/12517