|
|
||
2年半ぶりなわりにやってることが全然変わらないですが…
画像ファイルだけ入ったfoo.zip(cbzと呼ぶらしい)をKindle Paperwhiteで全画面表示できる形式にLinux上で安易に変換する方法です。
使うソフト:
cp foo.zip foo.cbz ebook-convert file.cbz file.epub --no-process --output-profile tablet unzip -o foo.epub content.opf mv -f content.opf content.opf.orig sed "s/<\/dc:creator>/&<meta name=\"fixed-layout\" content=\"true\"\/><meta name=\"book-type\" content=\"comic\"\/>/" <content.opf.orig >content.opf zip foo.epub content.opf kindlegen foo.epub
これでできたfoo.mobiを…@free.kindle.com にメールで送ればOK。
サイズが大きすぎる場合はkindlestripにかければ半分になります。
画像の合計は800KBが上限なので、768x1024グレースケールだと100ページくらいしか入らないのがやや面倒。画像一枚あたり800KBの間違いでした。
OpenInkpotのLocoPDFでPDFがうまく表示できないことがあります。
保護がかかったものはさすがに無理ですが、その他のdistillerの設定などの問題なら、ghostscriptについてくるps2pdfを使って
ps2pdf -dPDFSETTINGS=/ebook src.pdf dest.pdf
と変換すれば結構表示できるようになります。
電子ブックだとどうせ色は出ないので、ついでにグレースケールにすると小さくなります:
ps2pdf -dPDFSETTINGS=/ebook -dProcessColorModel=/DeviceGray -dColorConversionStrategy=/Gray src.pdf dest.pdf
何人いるかわかりませんが、Hanvon N516にOpenInkpot入れてみたいという方のために。
daily buildは動いたり動かなかったりするので、0.2を入れるのが無難です。
手順はhttp://openinkpot.org/wiki/0.2/InstallationGuideのFirst-time installationにある通りです:
boot 0 fconfig USBboot.cfg 0 nerase 0 4096 0 0 nprog 0 n516-image.bin 0 0 -n
OpenInkpotの主要アプリのメッセージを日本語化しました:
http://l10n.openinkpot.org/languages/l/ja/collection/c/oi/r/trunk/
コンパイルはhttp://openinkpot.org/wiki/Documentation/BuildEnvironmentに従ってビルド環境を作って
git clone http://git.openinkpot.org/gm.git src/gm cd src/gm git checkout -b master-l10n origin/master-l10n dpkg-checkbuilddeps --arch=mipsel sudo apt-get install libeoi-dev-mipsel-cross libkeys-dev-mipsel-cross liblops-dev-mipsel-cross libxcb-atom1-dev-mipsel-cross liblanguage-dev-mipsel-cross libchoicebox-dev-mipsel-cross libefreet-dev-mipsel-cross libedje-dev-mipsel-cross libevas-dev-mipsel-cross libecore-dev-mipsel-cross debhelper cdbs cdbs-embedded automake pkg-config dpkg-buildpackage -amipsel
などとやればgm_0.3.2_mipsel.debができます。これをscpなどで電子ブックリーダーに送ってdpkg -iすればOK。
あとでmasterにも反映されると思います。
怪しい電子ブックリーダーでDroidSansFallbackフォントを使っていたんですが、中国語優先で漢字統合されているので日本語で使うには違和感があります。骨が┌じゃなくて┐になったり。
一方DroidSansJapaneseだと日本語はちゃんと出るんですが、中国語の漢字が足りません(中国語ロケールでメニューの漢字の一部が豆腐になります)。
fontforgeを使って日本語優先で漢字統合するこんなスクリプトを作ってみたら解決しました:
#!/usr/bin/fontforge
Open("DroidSansJapanese.ttf")
MergeFonts("DroidSansFallback.ttf")
Select(0uAC00,0uD7FF,0x11174e,0x111f65)
DetachAndRemoveGlyphs()
SetFontNames("DroidSansJC","Droid Sans Japanese Chinese","Droid Sans Japanese Chinese")
Generate("DroidSansJC.ttf")
容量を減らすためハングルは削ってあります。
補足: OpenInkpot 0.2では上記のスクリプトで作ったDroidSansJC.ttfを/home/user/.fonts/に置くだけでうまく文字が出てましたが、Daily buildだとフォント名の部分を
SetFontNames("DroidSansFallback","Droid Sans Fallback","Droid Sans Fallback")
に変更した上で、標準の/usr/share/fonts/truetype/droid-fallback/DroidSansFallback.ttfに上書きしないと出ないようです。どこからこういう違いが来るのか不明。