KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

AozoraEpub3の改造、表紙画像をSVGラッピングにする

 AozoraEpub3はキンドルやコボ、ソニーリーダーで読むように作られていて、電書協で発表される前からあるので、電書協に沿って作られているわけではない。AozoraEpub3はフリーソフトといっていいのかな。

 そのため端末固有の設定にするために、EPUBに変換する際にif文が多くなっている。全体的に電書協に合わせて作って、if文の数を減らしてコードを読みやすくしたり、テスト項目を減らそうと考えている。まぁ、正直AozoraEpub3を個人出版に使っている人がどこまでいるかはわからないけど、メンテナンスをするためにif文を減らしたいなと考えている。

 固定レイアウトではSVGラッピングにしていたが、リフローレイアウトではfitを使っていた。青空文庫で縦書きに表示するときに画像が画面上で切れていることがあった。

 

  AozoraEpub3の読み解きを進めていました。テンプレートエンジンやファイルの書き込みをしているコードがどこに書かれているかがやっとわかった。私にしては頑張ったほうだと思います。Epub3Writer.javaEPUBファイルの書き込み用のコードが書かれていた。Epub3ImageWriter.javaは画像ZIP用であった。

 

 テンプレートエンジンはJavaScriptで使っていたのでどのように使うかは予想ができていた。ただ、どこに書かれているかは探すのに骨が折れた。Ctrl+Hでプロジェクト全体から検索ができるのを知ってからある程度は楽になったよ。

 どこを修正したらどこに影響があるのかは全体のコードを理科していないとできないのだが。全文を読むほど時間や知識があるわけではない。JAVAはどこに何が書かれているのかの把握に時間がかかるなと感じている。その他にOPENJDKになってからコードを書き換えないといけなくなったのでその把握に時間がかかっている。画像を読み込むのにcom.sun.image.codec.jpegが必要だとか。下のリンクに書かれている。

github.com

 バグチェックをしていたのだけど、日本語の長いファイル名を読むのに失敗していることがあって、原因の特定に苦労したり。OPENJDKの互換性はどの程度あるのかが気になっている。

 

javatechnology.net

w.atwiki.jp

kindle