ジャンル不定の日記です。

Kindleパーソナル・ドキュメントでコミックできたー

朝からハマってたが、やっと右から左のコミックでKindleパーソナル・ドキュメントできましたー。

.mobiを作ってアップするんだが、
使うアプリは、calibreと、kindlegenってAmazon公式のアプリ使った。


まず、calibreで読み込むデータの用意だが、JPEGをまとめたZIPなら拡張子を.cbzに変更するだけで読み込める。
パーソナル・ドキュメントには50MBまでしか送信できず、kindlegenを使うとファイルサイズが倍増するので画像サイズはかなり小さくする必要があるが、mogrifyコマンドを使うと複数のJPEGを一括でリサイズできる。
calibreはPDFも読み込め、convertコマンドで複数のJPEGをまとめてPDF作ることもできるが、
PDF → EPUB → MOBI
だとうまく行かなかった。

PDFの方が楽ではあるが、
CBZから変換したほうがファイルサイズが小さくなりそうでもあるので、CBZの方が良さそう。

参考までに、convertコマンドでPDFなら、
convert -resize 50% *.jpg xxx.pdf
ってすれば、カレントディレクトリの全JPGを50%にリサイズしてPDFにまとめられる。
-resizeの値は、%か、横x縦と、x区切りでpx指定。
縦横どちらか省略すると指定した方に合わせて比率維持。
convertはUbuntuならパッケージマネージャから graphicsmagick-imagemagick-compat を入れれば使える。
imagemagickでもいい。

mogrifyコマンドもconvertコマンドが利用できる環境なら利用できると思われる。
mogrifyコマンドはconvertと違い、元の画像ファイルが上書き更新される。
更新されちゃうんで、やる前にフォルダごとバックアップしておこう。
mogrify -resize 50% *.jpg
ってすれば、ファイル名そのままでリサイズできる。
JPEGのリサイズをしたら、ZIPにまとめて拡張子を.cbzに変更。

画像サイズの指定は、複数の書籍データで統一したほうがいいだろうから、
%指定じゃなくてx800とか600xとか縦横どちらかのpx指定がいいんじゃないかと思う。
kindlegenで.mobiを生成する際に、元のデータまで内包されてしまうようで、ファイルサイズは倍以上になる。
PDFやCBZにした時点で25MBあったら完全にアウト。


次はPDFやCBZをcalibreで読み込み、書籍情報の入力。
CBZから読み込む場合は、入力オプションの設定で出力フォーマットが初期状態でpngになっているので、jpgにしないとファイルサイズが増えちゃうと思われる。
市販書籍のデータなら、ISBNを入力して検索機能を使えば自動で入力終わる。


書籍情報の入力が終わったら、本を変換でEPUBに変換する。

EPUBに変換したら、
書籍の調整 → 書籍の分解
でバラす。
EPUBファイルは画像とテキストをZIPでまとめたファイルで拡張子が違うだけなんで、calibre使わなくてもZIP解凍用のツールでバラすこともできる。

バラしたら、
content.opf
とか、拡張子.otfのファイルがあるが、XMLファイルなんでテキストエディタ等で開いて編集する。

<metadata>内に、
<meta name="fixed-layout" content="true"/>
<meta name="original-resolution" content="550x800"/>
<meta name="RegionMagnification" content="true"/>
<meta name="primary-writing-mode" content="horizontal-rl"/>
<meta name="book-type" content="comic"/>
こんな感じでメタデータを書く。
特に重要なのが"primary-writing-mode"で、"horizontal-rl"にすると右から左になる。
"fixed-layout"付けないと多分上下に余白ができちゃう。
"RegionMagnification"は多分ダブルタップのズーム機能。
"original-resolution"は必須項目みたいなんでつけた。大体の画像サイズ。
"book-type"は"comic"にするとコミックに必要のない機能がリーダーで使われない。
って感じぽい。

修正したら、書籍の再構築でEPUBが完成。


EPUB → MOBI
は、kindlegenで、
./kindlegen filename.epub -c0 -verbose -locale ja
こんな感じ。
-verboseは画面出力だけなんで付けなくてもいい。
-c0で無圧縮。圧縮してもサイズ変わらなそう。

完成した.mobiが50MBを超えていたらアウトなんで、そしたら画像サイズをさらに小さくしてやりなおし。


AmazonのKindleパーソナル・ドキュメントサービスを試してみた

AmazonのKindleに、「パーソナル・ドキュメントサービス」ってのがあって、
手持ちの文書データをアップしてKindleで読めるサービスがあるんで試してみた。

アップできるファイル形式は、
  • Microsoft Word (.DOC, .DOCX)
  • HTML (.HTML, .HTM)
  • RTF (.RTF)
  • JPEG (.JPEG, .JPG)
  • Kindleフォーマット (.MOB, .AZW)
  • GIF (.GIF)
  • PNG (.PNG)
  • BMP (.BMP)
  • PDF (.PDF)
  • TXT (.TXT)
とのこと。
ZIPでまとめてアップすることもできるが、ZIP内の個別ファイルが1つのドキュメントになるらしい。
コミックを登録してみたいが、見慣れた形式だとPDFだね。

というわけで、JPEGをまとめてPDFにするようなツール無いかな・・・
と探してみたが、
convert
ってコマンド使えばいいらしい。
imagemagick
graphicsmagick-imagemagick-compat
のどちらかのパッケージを入れれば使えるようになる。
Ubuntuの公式リポジトリで入れれる。
imagemagickってのはGUIで、 graphicsmagick-imagemagick-compatはコマンドラインツールなんで、graphicsmagick-imagemagick-compatの方入れた。

パーソナル・ドキュメントサービスにはメールにファイルを添付して送るんだが、
容量が50MBまでなんで、通常のコミックデータはリサイズして容量減らす必要があるが、
convertではリサイズしてPDFにまとめるのも一発。

convert -resize 50% *.jpg xxx.pdf
ってすれば、カレントディレクトリの全JPGを50%にリサイズしてPDFにまとめられる。
-resizeの値は、%か、横x縦と、x区切りでpx指定。
縦横どちらか省略すると指定した方に合わせて比率維持。

で、PDFメールで送ってみたが、めっちゃ時間かかる。
30分は超える。1時間くらい見たほうが良さそう。
あと、Gmailだと添付ファイル25MBまでしか送れない。
Send to Kindle for PC
ってPCでメール使わずにアップできるアプリもあるようなんだが、64bitのXPは非対応ぽい。
Send to Kindle for Mozilla Firefox
Send to Kindle for Google Chrome
ってブラウザプラグインもあるんだが、これらのツールは日本アマゾンに非対応で、米Amazon使う必要があるぽい。
まあ、Gmail以外でメールで送った。

Amazonにファイル登録して、Kindleで読んでみたんだが、
一覧に表紙が表示されなくて、日本のコミックだから右から左にページめくりだが、逆。
PDFじゃなくて電子書籍の形式で送らないとダメぽいね・・・

というわけで、電子書籍の形式について調べてみたが、
Amazonに送れるのは .MOB 又は .AZW
調べてみたら、これもUbuntu標準でヨサゲなアプリありました。
calibre
GUIの電子書籍管理ツールで、形式変換とかできる。

calibreの使い方だが、
入力時にコミック入力で右から左の設定ができるが、それ以外で右から左に変換する機能が無さそうなんで、
たぶん、CBZ形式とかコミック形式のファイル形式で入力する必要がありそう。
CBZ形式ってのは、JPEG画像をまとめたZIPファイルの拡張子が違うだけ。
設定 → 入力オプション → コミック入力 → 右から左
をチェックするとページが右から左になる。
出力フォーマットの項目も初期状態でpngになってるが、jpgにした方がコミックなら容量小さくなると思う。

PDF作成の際はconvertコマンドでやったが、このコマンドは入力にワイルドカード使って全部まとめられるが、出力は1ファイルしかできないぽい。
代わりにmogrifyってコマンドってコマンド使うとファイルの上書き更新になるんで、
mogrify -resize 50% *.jpg
ってすれば、ファイル名そのままでリサイズできる。

JPEGまとめてZIP化して、拡張子を.cbzに変更してcalibreで読み込み。
読み込んだら書籍情報の設定だが、ISBNを入力して書籍情報をダウンロードするとほぼ一発。
ファイルタイプをMOBIに変換するとAmazonに送れる。
calibreではAZW3って形式にも変換できるようなんだが、これで送ったらエラーになった。MOBIは送れた。

てな感じなんだが、
Kindleで見ると右から左にならんし、上部にタイトルが表示されちゃって前画面表示にならん・・・
ここらへんもうちょい調べる必要ありそう。

Androidのスワイプ感度・・・

AndroidのKindleでコミック読んでると、
スワイプでページめくりたいんだが、おそらくスワイプにならずに右側タップになっちゃってるんだと思うが、
次のページに行きたいのに前のページに行って苛つく。

Android自体にスワイプ感度の設定ってのは見当たらないし、アプリ側で感度調節するもんなんじゃないかと思うが、Kindleアプリにも設定見当たらない。
どうにかならんもんか・・・
タップ無効化設定とかでもいいと思うんだがな・・・

多分、海外の書籍とか参考書なんかだと左から右にページ移動するから問題にならないんじゃないかと思う。